如果我有一系列对象,例如
const arrOfObj = [
{
'a': 'a',
'b': 'b',
'c': 'c',
'd': 'd'
}
]
如何使用只有a和b的对象创建新数组?
{
'a': 'a',
'b': 'b'
}
我一直在尝试类似
Object.entries(arrOfObjs[0]).filter(x => x[0] !== 'a' && x[0] !== 'b')
但必须有一种更简单的清洁方法
最佳答案
您可以map
数组,使用destructuring和shorthand property names到那里:
const result = arrOfObj.map(({a, b}) => ({a, b}));
例:
const arrOfObj = [
{ 'a': 'a', 'b': 'b', 'c': 'c', 'd': 'd' },
{ 'a': 'aa', 'b': 'bb', 'c': 'cc', 'd': 'dd' },
{ 'a': 'aaa', 'b': 'bbb', 'c': 'ccc', 'd': 'ddd' }
];
const result = arrOfObj.map(({a, b}) => ({a, b}));
console.log(result);