[英]Iterate through objects with array of objects inside and get keys index nodejs
我陷入了一個問題。 我有一個對象,里面有一個對象數組,我想遍歷對象,在每個數組中我都想要特定的位置。
所以我想第一個元素得到[0]
第二個我想[0]
我想第三[2]
和最后一個元素我想[0]
values ************** [ anonymous { medium: [ 0.28, 0.26, 0.13 ] },
4|wscontro | anonymous { medium: [ 13.51, 0.04, 0.75 ] },
4|wscontro | anonymous { medium: [ 1527.58, 262.98, 27.4, 59.49 ] },
4|wscontro | anonymous { medium: [ 60305.25, 0 ] } ]
4|wscontro | values type of -------- object
4|wscontro | values ************** [{"medium":[0.28,0.26,0.13]},{"medium":[13.51,0.04,0.75]},{"medium":[1527.58,262.98,27.4,59.49]},{"medium":[60305.25,0]}]
4|wscontro | item ---->>> anonymous { medium: [ 0.28, 0.26, 0.13 ] }
4|wscontro | item ---->>> anonymous { medium: [ 13.51, 0.04, 0.75 ] }
4|wscontro | item ---->>> anonymous { medium: [ 1527.58, 262.98, 27.4, 59.49 ] }
4|wscontro | item ---->>> anonymous { medium: [ 60305.25, 0 ] }
我想得到
0.28、13.51、27.4、60305.25
我不知道如何用我的forEach獲取密鑰索引。
我的代碼:
var allPromises=[];
allPromises.push(Database.Alerts.getDeviceSystemByDeviceId("system.load", device.id));
allPromises.push(Database.Alerts.getDeviceSystemByDeviceId("disk_space.sda3", device.id));
allPromises.push(Database.Alerts.getDeviceSystemByDeviceId("system.ram", device.id));
allPromises.push(Database.Alerts.getDeviceSystemByDeviceId("platform.temperatures", device.id));
Promise.all(allPromises).then(function(values){
console.log("values **************", values);
console.log("values type of --------", typeof(values));
console.log("values **************", JSON.stringify(values));
values.forEach(function(item){
console.log("item ---->>> ", item);
});
將一個索引參數添加到forEach內部調用的函數中:
values.forEach(function(item, index){
console.log("item ---->>> ", item);
console.log("index --->>> ", index);
});
Array.prototype.forEach
和Array.prototype.map
實際上可以為您提供索引作為回調中的第二個參數。 當您想獲取多個數字(可能是數組)時, .map
非常適合您的需求。
const relevantValues = values.map(function(item, index){
if(index == 2) { return item.medium[2] }
else { return item.medium.[0] }
});
那將使[0.28, 13.51, 27.4, 60305.25]
等於[0.28, 13.51, 27.4, 60305.25]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.