我有一个数组,其中包含服务器返回的对象:
myArr = [{
"id": 1
}, {
"id": 2
}, {
"id": 3
}, {
"id": 4
}, {
"id": 5
}, {
"id": 6
}, {
"id": 7
}, {
"id": 8
}, {
"id": 9
}, {
"id": 10
}];
我需要这个成为:
myArr = [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
];
我可以循环遍历数组,例如:
// array to hold property values
let myNewArr = [];
// loop through the objects and take the value of id of each object
for (let i = 0; i < myArr.length; ++i) {
myNewArr.push(myArr[i].id);
}
有没有更有效的方法来做到这一点,最好是使用Lodash?我不想在代码中添加另一个循环,因为它已经充满了循环。
答案 0 :(得分:4)
阵列地图是您正在寻找的:
myArr.map(function(x){ return x.id; })
它会自动循环你的数组并提取&#34;提取&#34;内部对象的id值,返回一个数组。
答案 1 :(得分:1)
用lodash:
let myArr = _.map(myArr, (b) => b.id);
使用箭头操作符:
let d = myArr.map(b => b.id);