Jea*_*rre 2 javascript arrays object ecmascript-6
具有以下输入数组:
const initialArray = [{name: 'john', age: 12, height: 178, likes: 'music'},
{name: 'mike', age: 22, height: 181, likes: 'sport'},
{name: 'anna', age: 18, height: 175, likes: 'sleep'},
{name: 'paul', age: 24, height: 170, likes: 'drink'}
];
Run Code Online (Sandbox Code Playgroud)
我想构建一个新的对象数组,其中仅包含一些属性,例如name
和height
。结果将是:
result = [{name: 'john', height: 178},
{name: 'mike', height: 181},
{name: 'anna', height: 175},
{name: 'paul', height: 170}
];
Run Code Online (Sandbox Code Playgroud)
尝试过map
,但可能有问题:
const result = initialArray.map((a) => {
a.name, a.height
});
Run Code Online (Sandbox Code Playgroud)
您应该在内部使用return
关键字{}
或用(括号)扭曲代码()
。
您可以尝试使用Destructuring assignment
它允许您在结果对象中指定所需的属性名称:
const initialArray = [
{name: 'john', age: 12, height: 178, likes: 'music'},
{name: 'mike', age: 22, height: 181, likes: 'sport'},
{name: 'anna', age: 18, height: 175, likes: 'sleep'},
{name: 'paul', age: 24, height: 170, likes: 'drink'}
];
const result = initialArray.map(({name, height}) => ({name,height}));
console.log(result);
Run Code Online (Sandbox Code Playgroud)