将对象属性名称的数组过滤为新的对象数组

时间:2017-09-06 12:26:19

标签: javascript arrays filter es6-promise

假设我有一个对象数组,如何使用对象属性名称过滤到新的对象数组。我应该使用(Object.keys()),es6的最佳解决方案是什么。

data=[{
     deviceId:2
     deviceStatus:"Online"
     deviceType:"Tag"
     lastAliveMessage:null
     name: 'name:"Some Text'
     location: location.name
},{
     deviceId:2
     deviceStatus:"Online"
     deviceType:"Tag"
     lastAliveMessage:null
     name: 'name:"Some Text'
     location: location.name
}]

应该是:

filteredArr = [{
  datakey: 'deviceID',
   label: 'label',
},
{
 datakey: 'deviceStatus',
 label: 'label',
},
{
 datakey: 'deviceType',
 label: 'label',
},
{
 datakey: 'deviceID',
 label: 'label',
},
{
 datakey: 'lastAliveMessage',
 label: 'label',
},
{
datakey: 'name',
label: 'label',
}]

1 个答案:

答案 0 :(得分:0)

尝试编码 - 打高尔夫球:

filteredArray = Object.keys(data[0]).map(key => ({datakey: key, label: 'label'}))