使用另一个对象数组中的两个特定对象值对构造一个对象数组

时间:2017-08-21 11:09:52

标签: javascript arrays object

假设有一个对象数组。

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'}
]

非常感谢帮助。

2 个答案:

答案 0 :(得分:4)

您可以使用destructuring assignmentArray#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;}




相关问题