Angular 如何剪切对象数组以获取typescript中的特定属性

Angular 如何剪切对象数组以获取typescript中的特定属性,angular,typescript,Angular,Typescript,我有一个这样的数组 array = [ { id: 1, name: 'Apple', color: 'red }, { id: 2, name: 'Orange', color: 'orange' }, { id: 3, name: 'Banana', color:'yellow' }, { id: 4, name: 'Malta', color:'orange' } ]; array = [ { id: 1, }, { id: 2,

我有一个这样的数组

array = [
{
  id: 1,
  name: 'Apple',
  color: 'red
},
{
  id: 2,
  name: 'Orange',
  color: 'orange'
},
{
  id: 3,
  name: 'Banana',
  color:'yellow'
},
{
  id: 4,
  name: 'Malta',
  color:'orange'
}
];
 array = [
{
  id: 1,
},
{
  id: 2,
},
{
  id: 3,
},
{
  id: 4,
}
];
我只想从这个数组中得到“id”属性,如下所示

array = [
{
  id: 1,
  name: 'Apple',
  color: 'red
},
{
  id: 2,
  name: 'Orange',
  color: 'orange'
},
{
  id: 3,
  name: 'Banana',
  color:'yellow'
},
{
  id: 4,
  name: 'Malta',
  color:'orange'
}
];
 array = [
{
  id: 1,
},
{
  id: 2,
},
{
  id: 3,
},
{
  id: 4,
}
];
处理这种情况的方法应该是什么。
我尝试了filter方法,map方法,但没有成功

使用
map
操作符像这样迭代数组-

array.map(res => {return {id: res.id}})
PS-或者@amadan在评论中建议的另一种快捷方式

array.map(({id}) => ({id}))
您可以使用获取id属性

 arrayData.map(a => {
  return {
    id: a.id
  }
 })
var arrayData=[{
id:1,
名称:'苹果',
颜色:“红色”
},
{
id:2,
名称:“橙色”,
颜色:“橙色”
},
{
id:3,
名称:'香蕉',
颜色:“黄色”
},
{
id:4,
姓名:“马耳他”,
颜色:“橙色”
}
];
const newarray=arrayData.map(a=>{
返回{
id:a.id
}
})

log(newarray)在阵列上使用
map

var初始值=[{
id:1,
名称:'苹果',
颜色:“红色”
},
{
id:2,
名称:“橙色”,
颜色:“橙色”
},
{
id:3,
名称:'香蕉',
颜色:“黄色”
},
{
id:4,
姓名:“马耳他”,
颜色:“橙色”
}
];
var finalArray=initial.map(项=>{
返回{
id:item.id
}
});

控制台日志(finalArray)显示您所尝试的,
map
在这里应该可以很好地完成工作。对于非破坏性方法,
map
是正确的方法。但是,请出示您的代码;请注意,“它不起作用”是一个无用的描述(如果它起作用,你可能不会在这里询问),而一个很好的描述它到底是如何起作用的(使用示例输入、示例输出以及它与所需输出的差异)是非常非常有用的。你应该能够使用
map
array.map(x=>x.id)
这个有趣的语法也很有效:
arrayData.map(({id})=>({id}))
@Amadan是的,我知道:D