Как найти объект внутри массива внутри объекта - PullRequest
0 голосов
/ 31 октября 2018

Простите за путаницу, но как я могу получить значение ключа 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]])

и возвращается undefined

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Может быть что-то вроде этого

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"]);
    }
  });
});

Я в основном перебираю часть массива. Вы можете поиграть с вышеуказанной логикой, чтобы получить то, что вы хотите.

Надеюсь, это поможет!

0 голосов
/ 31 октября 2018

Если вы знаете, что индекс свойств не изменится, вы можете погрузиться в него по индексу:

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