如何迭代嵌套数组并在子数组中添加元素

时间:2017-01-16 10:31:50

标签: javascript arrays

我希望根据subarray添加groupId其中一个参与者。如何迭代subarray并比较javascript中的groupId。 我正在使用angular js和console.log($ scope.groupDetails4GroupAdded)在chome inspect中返回此对象。

0: Object
$$hashKey: "object:30"
domain: "IND"
groupID: 109
groupName: "Disha"
owner: "JACK"
participants: Array[3]
__proto__: Object
1: Object
$$hashKey: "object:31"
domain: "IND"
groupID: 120
groupName: "home"
owner: "tOM"
participants: Array[3]

2 个答案:

答案 0 :(得分:0)

如果您想按groupId进行过滤,则应使用filter

const matchedItems = array.filter(item => item.groupId === 109);

要检索满足此条件的所有参与者,您可以在结果上调用reduce:

const participants = array
  .filter(item => item.groupId === 109)
  .reduce((result, item) => [...result, ...item.participants], []);

如果您只需要一场比赛:

const matchedItem = array.find(item => item.groupId === 109);

有关更多数组相关方法,请参阅MDN array documentation

答案 1 :(得分:0)

由于您还没有提供任何进一步的信息,我只会回答我已经确定的问题。如何迭代子数组

for (var i = 0; i< Object.participants.length; i++){
Object.participants[i] //participant object.
}

如果您想在此子阵列中添加参与者

Object.participants.push(objectParticipant) //objectParticipant is an object defined by you