簡體   English   中英

如何遍歷另一個數組對象 (JSON) 中的數組對象?

[英]How to Iterate through an array object inside another array object (JSON)?

以下是我從 API 調用中收到的用戶列表,該調用從 AWS cognito 獲取用戶列表。 我希望能夠遍歷它以在網頁上顯示用戶的姓名和電子郵件。 我正在嘗試result[0].attributes[3]迭代到“given_name”,結果是對象。 我需要“email”、“given_name”和“family_name”

您可以使用filter來確定是否可以找到對象屬性,然后返回該對象。

result[0].Attributes.filter(obj => obj.name === name);

下面是一個例子:

 let result = [{ Attributes: [{ name: "Mario" }, { name: "Luigi" }, { name: "Toad" }, { name: "Peach" } ] }] function lookfor(name) { return result[0].Attributes.filter(obj => obj.name === name); } console.log(lookfor("Mario")); console.log(lookfor("Peach"));

for(var i in array){
   var attr = array[i].Attributes;
   for(var l in attr){
      // attr[l].Name returns name
      // attr[l].Value returns values
   }
}

您可以使用 map 迭代數組

arrributes.map(function(arr) => {
  console.log(arr.Name, arr.Value)
})

 Object.keys(result).forEach(key => { let resultObject = result[key].map(array => { if (array.Name == "given_name") { console.log(array.value) } else if (array.Name == "email") { console.log(array.value); } }); });

 const response = [ { Attributes: [ {Name: 'given_name', Value: 'name 1'}, {Name: 'family_name', Value: 'family 1'}, {Name: 'email', Value: 'email1@gmail.com'} ] }, { Attributes: [ {Name: 'given_name', Value: 'name 2'}, {Name: 'family_name', Value: 'family 2'}, {Name: 'email', Value: 'email2@gmail.com'} ] }, ]; const users = response.map((ele) => { const { Attributes } = ele; return Attributes.reduce((agg, {Name, Value}) => { if (Name === 'given_name') { agg.name = Value; } if (Name === 'email') { agg.email = Value; } return agg; }, {}); }); console.log(users);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM