将对象数组减少/过滤为新的对象数组. [英] Reduce/Filter array of objects into new array of objects.
本文介绍了将对象数组减少/过滤为新的对象数组.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有对象数组,我需要使用先前的数据创建一个新的对象数组.就我而言,我不需要过滤所有数据. ES6的最佳解决方案是什么?
Suppose I have array of objects, I need to create new one array of objects with data from previous. In my case I need filter no all data. What is the best solution with ES6.
data = [{
deviceId:1
deviceStatus:"Offline"
deviceType:"Tag"
isConfigured:true
isEnabled:true
isLocalized:false
isMasterAssigned:false
lastAliveMessage:null
location:{roomId: 5, name: "Room_207", zones: null, plan: null}
name:"Tag For sending an alarm"
},{
deviceId:2
deviceStatus:"Online"
deviceType:"Tag"
isConfigured:true
isEnabled:true
isLocalized:false
isMasterAssigned:false
lastAliveMessage:null
location:{roomId: 6, name: "Room_208", zones: null, plan: null}
name:"Some Text"
}]
我只需要过滤所需的数据.
I need to filtered only needed data.
filteredData=[{
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
}]
推荐答案
Use the Array#map function to iterate over them and create another type of objects.
const data = [{
deviceId:1,
deviceStatus:"Offline",
deviceType:"Tag",
isConfigured:true,
isEnabled:true,
isLocalized:false,
isMasterAssigned:false,
lastAliveMessage:null,
location:{roomId: 5, name: "Room_207", zones: null, plan: null},
name:"Tag For sending an alarm"
},{
deviceId:2,
deviceStatus:"Online",
deviceType:"Tag",
isConfigured:true,
isEnabled:true,
isLocalized:false,
isMasterAssigned:false,
lastAliveMessage:null,
location:{roomId: 6, name: "Room_208", zones: null, plan: null},
name:"Some Text"
}];
const newObj = data.map(item => ({
deviceId: item.deviceId,
deviceStatus: item.deviceStatus,
deviceType: item.deviceType,
lastAliveMessage: item.lastAliveMessage,
name: item.name,
location: item.location.name
}));
console.log(newObj);
这篇关于将对象数组减少/过滤为新的对象数组.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文