想知道是否有更简洁的方法,然后迭代每个单个对象,并逐步重建数组(在Javascript中)。
var myArray = [{id:10,name:'bob'},{id:30,name:'mike'},{id:40,name:'jay'},{id:50,name:'chris'},{id:60,name:'snake'}];
缩进数组输出 - > [10,30,40,50,60]
答案 0 :(得分:2)
map是一个高阶函数,它将函数应用于数组的每个成员,返回结果数组。
var myArray = [{
id: 10,
name: 'bob'
}, {
id: 30,
name: 'mike'
}, {
id: 40,
name: 'jay'
}, {
id: 50,
name: 'chris'
}, {
id: 60,
name: 'snake'
}];
myArray.map(function (obj) {
return obj.id;
}); // [10, 30, 40, 50, 60]
请注意,在版本9之前的IE中没有此方法,但如果您需要支持这些浏览器,则可以使用polyfill。
如果您已经引用了jQuery,$.map
提供了相同的功能。我认为underscore.js和喜欢的人也提供了另一种选择。