如果我有一系列对象,例如

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数组,使用destructuringshorthand 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);

07-27 23:52