我有一个对象数组,它们都有一个名为Id
的属性,与此类似:
var allPeople = [ { 'id': someNumber, 'name': someString }, { 'id': anotherNumber, 'name': anotherString }, ... ]
我想获取每个id并将它们连接到另一个数组,我将称之为selectedPeople
:
[ someNumber, AnotherNumber ]
目前,我正在使用for
循环将每个ID推送到selectedPeople
数组:
for (i = 0; i < allPeople.length; i++) {
selectedPeople.push(allPeople[i].id);
}
然而,这感觉相当程序化,我想知道是否有更好的方法来解决这个问题? Javascript是否有一种方法可以实现我想要实现的目标?
答案 0 :(得分:5)
var allPeople = [{
'id': someNumber,
'name': someString
}, {
'id': anotherNumber,
'name': anotherString
}, ...]
var selectedPeople = allPeople.map(function(person) {
return person.id
});
console.log(selectedPeople);
答案 1 :(得分:1)
您可以使用map
数组方法转换数组
类似的东西:
var allPeople = [ { 'id': someNumber, 'name': someString }, { 'id': anotherNumber, 'name': anotherString }]
var ids = allPeople.map(function(person) {return person.id;});
//ids is [someNumber, AnotherNumber ]