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

Javascript 如何迭代嵌套数组并在子数组中添加元素,javascript,arrays,Javascript,Arrays,我想根据groupId在子数组中添加参与者。如何在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]

我想根据
groupId
子数组中添加参与者。如何在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]

如果要按
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);

有关更多与数组相关的方法,请参阅。

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

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

@MattieuLemoine var desiredObject=$scope.groupDetails4GroupAdded.filter(函数(el){return el.groupID==$scope.groupID});在变量desiredObject中,将出现具有匹配groupID的我的对象。但是desiredObject.participants未定义。desiredObject.participants.push(friendDetails)//将错误显示为未定义的推送对象不是对象,而是满足
item.groupId==109
的项数组
filter
返回一个数组。我应该在var desiredoObject上应用循环来到达参与者吗?您能更具体些吗?它可能与数组扩展运算符有关。你可以使用
concat
代替,如果你的数组是空的,你会得到这个结果…在迭代之前只需检查你的数组是否为空。不,我的数组不是空的。它有两个以上的元素。但此数组的名称是groupDetails4GroupAdded。它应该类似于groupDetails4GroupAdded.Object.participants.push(objectParticipant)?可能是的!因此,您需要提供有关代码的更多信息。没有它真的很难帮助。似乎此
对象
来自您的控制台,而不是对象的名称…因此您可能需要迭代
groupDetails4GroupAdded.participants
并将其添加到
groupDetails4GroupAdded.participants.push(objectParti‌​cipant)
如果没有
对象
你需要提供你的代码…猜测你想要实现什么是不可能的。
Object.participants.push(objectParticipant) //objectParticipant is an object defined by you