如何仅从以下包含一些数据的字典中提取那些元素?

从这个数组中,我只想选择 flipkart 并创建一个只包含 flipkart 的新数组。


json = [

  {

    "amazon": []

  },

  {

    "flipkart": {

      "product_store": "Flipkart",

      "product_store_logo": "https://images-api.datayuge.in/image/ZmxpcGthcnRfc3RvcmUucG5n.png",

      "product_store_url": "https://price-api.datayuge.com/redirect?id=aHR0cHM6Ly9kbC5mbGlwa2FydC5jb20vZGwvcmVhbG1lLTItZGlhbW9uZC1ibGFjay02NC1nYi9wL2l0bWY4NXNjeHlnaHh3Y2g_cGlkPU1PQkY4NVVZQ0RERlZFRE0mYWZmaWQ9YXJ1bmJhYnVs",

      "product_price": "10990",

      "product_mrp": "0",

      "product_offer": "",

      "product_color": "black",

      "product_delivery": "3-4",

      "product_delivery_cost": "0",

      "is_emi": "1",

      "is_cod": "1",

      "return_time": "10 Days"

    }

  },

  { "snapdeal": [] },

  { "ebay": [] },

  { "paytm": [] },

  { "croma": [] },

  { "yebhi": [] },

  { "indiatimes": [] },

  { "homeshop18": [] },

  { "naaptol": [] },

  { "infibeam": [] },

  { "tatacliq": [] },

  { "shopclues": [] },

  { "paytmmall": [] },

  { "gadgets360": [] },

  { "mi": [] },

  { "2gud": [] }

];

编辑:以上问题已解决,解决方案是,


this.store_array.filter(el => {

            if(Array.isArray(el[Object.keys(el)[0]])){

                return el[Object.keys(el)[0]].length;

            }

            else if(typeof el[Object.keys(el)[0]]==="object"){

                this.brands.push(el[Object.keys(el)[0]])

                return el[Object.keys(el)[0]]

            }

        });

和https://stackoverflow.com/users/8802812/kullya 是第一个回答它的人,但我找不到他的答案,因为我是 stackoverflow 的新手,所有学分都归用户所有。非常感谢您。


森林海
浏览 176回答 3
3回答

江户川乱折腾

你可以有一个如下的函数并传递你可能需要查找/过滤的数据(两者都有效:)):var arr= [ { "amazon": [] }, { "flipkart": { "product_store": "Flipkart", "product_store_logo": "https://images-api.datayuge.in/image/ZmxpcGthcnRfc3RvcmUucG5n.png", "product_store_url": "https://price-api.datayuge.com/redirect?id=aHR0cHM6Ly9kbC5mbGlwa2FydC5jb20vZGwvcmVhbG1lLTItZGlhbW9uZC1ibGFjay02NC1nYi9wL2l0bWY4NXNjeHlnaHh3Y2g_cGlkPU1PQkY4NVVZQ0RERlZFRE0mYWZmaWQ9YXJ1bmJhYnVs", "product_price": "10990", "product_mrp": "0", "product_offer": "", "product_color": "black", "product_delivery": "3-4", "product_delivery_cost": "0", "is_emi": "1", "is_cod": "1", "return_time": "10 Days" } }, { "snapdeal": [] }, { "ebay": [] }, { "paytm": [] }, { "croma": [] }, { "yebhi": [] }, { "indiatimes": [] }, { "homeshop18": [] }, { "naaptol": [] }, { "infibeam": [] }, { "tatacliq": [] }, { "shopclues": [] }, { "paytmmall": [] }, { "gadgets360": [] }, { "mi": [] }, { "2gud": [] } ]function getData (commerceName){    return arr.filter(x=>x[commerceName])}// using `find`// function getData (commerceName){//  return arr.find(x=>x[commerceName])//} let res = getData('flipkart')//let res1 = getData('snapdeal')console.log(res)

函数式编程

const result = json.find(a => a.hasOwnProperty('flipkart'));const flipkartData = result ? [result.flipkart] : [];

DIEA

您可以使用.findArray 的方法并查找其键包含“flipkart”的对象。(如果您实际上只需要对象而不是将其包装在数组中,则可以在最后一步中省略。)[]const  allData = getAllData(),  flipkart = allData.find(currentItem =>    Object.keys(currentItem).includes("flipkart"));console.log([flipkart]);function getAllData(){  return [    {      "amazon": []    },    {      "flipkart": {        "product_store": "Flipkart",        "product_store_logo": "https://images-api.datayuge.in/image/ZmxpcGthcnRfc3RvcmUucG5n.png",        "product_store_url": "https://price-api.datayuge.com/redirect?id=aHR0cHM6Ly9kbC5mbGlwa2FydC5jb20vZGwvcmVhbG1lLTItZGlhbW9uZC1ibGFjay02NC1nYi9wL2l0bWY4NXNjeHlnaHh3Y2g_cGlkPU1PQkY4NVVZQ0RERlZFRE0mYWZmaWQ9YXJ1bmJhYnVs",        "product_price": "10990",        "product_mrp": "0",        "product_offer": "",        "product_color": "black",        "product_delivery": "3-4",        "product_delivery_cost": "0",        "is_emi": "1",        "is_cod": "1",        "return_time": "10 Days"      }    },    { "snapdeal": [] },    { "ebay": [] },    { "paytm": [] },    { "croma": [] },    { "yebhi": [] },    { "indiatimes": [] },    { "homeshop18": [] },    { "naaptol": [] },    { "infibeam": [] },    { "tatacliq": [] },    { "shopclues": [] },    { "paytmmall": [] },    { "gadgets360": [] },    { "mi": [] },    { "2gud": [] }  ];}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript