我有以下对象
calendarLists = [
{Title: titel1, Color:blue, number:1}
{Title: titel2, Color:green, number:2}]
{Title: titel3, Color:red, number:3}
]
它具有更多的属性,但为简单起见,请仅显示3个属性。我也有一个关注数组[Title,number]
现在基于数组,我只想显示基于数组的对象属性。我的结果应该是
results =[{Title: titel1, , number:1},{Title: titel2, , number:2},{Title: titel3, , number:3}]
答案 0 :(得分:1)
您可以将所需的属性映射为对象,将它们收集到单个对象中,然后将所有对象映射为一个新数组。
var calendarLists = [{ Title: 'titel1', Color: 'blue', number: 1 }, { Title: 'titel2', Color: 'green', number: 2 }, { Title: 'titel3', Color: 'red', number: 3 }],
keys = ['Title', 'number'],
result = calendarLists.map(o => Object.assign(...keys.map(k => ({ [k]: o[k] }))));
console.log(result);
与destructuring assignment和short hand properties相同。
var calendarLists = [{ Title: 'titel1', Color: 'blue', number: 1 }, { Title: 'titel2', Color: 'green', number: 2 }, { Title: 'titel3', Color: 'red', number: 3 }],
result = calendarLists.map(({ Title, number }) => ({ Title, number }));
console.log(result);
答案 1 :(得分:0)
您的calendarLists语法错误。您可以映射此数组并过滤所需的属性。
calendarLists = [{
Title: 'titel1',
Color: 'blue',
number: 1
},
{
Title: 'titel2',
Color: 'green',
number: 2
},
{
Title: 'titel3',
Color: 'red',
number: 3
}
];
result = calendarLists.map(
calendarList => {
return {
Title: calendarList.Title,
number: calendarList.number
}
}
);
console.log(result);