Monday, May 20, 2024
181
rated 0 times [  187] [ 6]  / answers: 1 / hits: 24630  / 7 Years ago, wed, august 23, 2017, 12:00:00

I have an object that I would like to filter it's keys..



Im trying to filter the object by an ID, like so:



let myKeys = Object.keys(data).filter(function(key) {
//console.log(data[key]);
if(parseInt(key) === parseInt(vm.system_id)) {
return data[key];
}
});

console.log(myKeys);


This works, partialy - im getting the key, however, im not getting all the data/items under this item im filtering out



The object im filtering is one similar to this one:



{
646: [{
id: 52144,
timestamp: 2017-08-17T14:10:23Z,
type: alarm,
code: 210,
title: ,
description: ,
remedy: ,
appeared: 2017-08-17T14:10:09Z,
disappeared: null,
acknowlegded: null,
solved: null,
system_name: CG-MX19D7K5C1,
system_id: 646,
system_device_id: 458,
stream: cu351.alarm_code
}
],
693: [{
id: 51675,
timestamp: 2017-08-16T13:59:55Z,
type: alarm,
code: 215,
title: ,
description: ,
remedy: ,
appeared: 2017-08-16T13:59:57Z,
disappeared: null,
acknowlegded: null,
solved: null,
system_name: Demo 07122016,
system_id: 693,
system_device_id: 371,
stream: cu351.alarm_code
}, {
id: 51677,
timestamp: 2017-08-16T13:59:57Z,
type: alarm,
code: 214,
title: ,
description: ,
remedy: ,
appeared: 2017-08-16T13:59:59Z,
disappeared: null,
acknowlegded: null,
solved: null,
system_name: Demo 07122016,
system_id: 693,
system_device_id: 371,
stream: cu351.alarm_code
}
]


}


More From » ecmascript-6

 Answers
1

Array#filter is expecting a boolean value as return value, you might use this



let myKeys = Object.keys(data).filter(key => key == vm.system_id);


for getting the keys and then render a new object with the given keys.



To get all items in a single array, you could collect them with



let result = myKeys.reduce((r, k) => r.concat(data[k]), []);

[#56673] Monday, August 21, 2017, 7 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ingridcassieb

Total Points: 346
Total Questions: 97
Total Answers: 125

Location: North Korea
Member since Fri, Nov 4, 2022
2 Years ago
;