假设有一个对象数组。
let source = [
{'name': 'a', age: '10', id: 'a0'},
{'name': 'b', age: '12', id: 'b2'},
{'name': 'c', age: '14', id: 'c4'},
{'name': 'd', age: '16', id: 'd6'},
{'name': 'e', age: '18', id: 'e8'}
]
我想要实现的是创建一个新的数组,它将包含特定的两个键值对。示例结果,
[
{'name': 'a', id: 'a0'},
{'name': 'b', id: 'b2'},
{'name': 'c', id: 'c4'},
{'name': 'd', id: 'd6'},
{'name': 'e', id: 'e8'}
]
非常感谢帮助。
答案 0 :(得分:4)
您可以使用destructuring assignment和Array#map
获取新的新对象数组。
let source = [{ name: 'a', age: '10', id: 'a0' }, { name: 'b', age: '12', id: 'b2' }, { name: 'c', age: '14', id: 'c4' }, { name: 'd', age: '16', id: 'd6' }, { name: 'e', age: '18', id: 'e8' }],
result = source.map(({ name, id }) => ({ name, id }));
console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:3)
使用Array.prototype.map
功能 - 请参阅下面的演示:
let source = [{ name: 'a', age: '10', id: 'a0' }, { name: 'b', age: '12', id: 'b2' }, { name: 'c', age: '14', id: 'c4' }, { name: 'd', age: '16', id: 'd6' }, { name: 'e', age: '18', id: 'e8' }]
let result = source.map(function(e){
return {
name: e.name,
id : e.id
}
});
console.log(result);

.as-console-wrapper{top:0;max-height:100%!important;}