首页 > 解决方案 > 如何在对象内部的数组中查找对象

问题描述

请原谅我的困惑,但我怎样才能获得嵌套在这个对象中的name键的值:

{
    "id":"5SA72165CP580074WLPMNIYA",
    "transactions":[{
        "amount":{
            "total":"23.80",
        },
        "item_list":{
            "items":[{
                "name":"Gateway", // THIS!
            }]
        },
        "related_resources":[{
            "sale":{
                "id":"1PD13091HH4593923",
            }
        }]
    }]
}

我试图这样得到它:

console.log(transactions[item_list.items[name]])

它返回未定义

标签: arraysobjecttarget

解决方案


可能是这样的

let dynamicContent = {
    "id":"5SA72165CP580074WLPMNIYA",
    "transactions":[{
        "amount":{
            "total":"23.80",
        },
        "item_list":{
            "items":[{
                "name":"Gateway", // THIS!
            }]
        },
        "related_resources":[{
            "sale":{
                "id":"1PD13091HH4593923",
            }
        }]
    }]
};

dynamicContent.transactions.forEach(function(itemList) {
  itemList.item_list.items.forEach(function(element){
    if(element.hasOwnProperty("name")) {
      console.log(element["name"]);
    }
  });
});

我基本上是在遍历数组部分。你可以玩弄上面的逻辑来得到你想要的。

希望这可以帮助!


推荐阅读