How to filter out an object from an large object on basis of certain value of one of the property.
defaultSettings = {
'header1': {
key: '00_02',
element: {
'test1': '',
},
elementName: 'footer'
},
'enabled': {},
'header2': [
{
key: '',
value: {
msg1: {},
msg2: 'message2',
},
elementName: 'unwanted-element1'
}
],
'header3': {
info: '',
headline: ''
},
};
I want to remove the object where elementName: 'unwanted-element1'
from defaultSettings
I am trying something like
for (let key of Object.keys(defaultSettings)) {
if(key === 'header2'){
if(key['elementName'] == 'unwanted-element1' ){
//delete that particular object.
}
}
}
console.log(defaultSettings);
Output expected:
{
'header1': {
key: '00_02',
element: {
'test1': '',
},
elementName: 'footer'
},
'enabled': {},
'header2': [],
'header3': {
info: '',
headline: ''
},
}
Kindly suggest better approach to achieve this.
defaultSettings['header2'] = defaultSettings['header2'].filter(prop => prop.elementName != 'unwanted-element1');
So here I am filtering the header2
by not including the unwanted-element1
and assigning the result to defaultSettings
again.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.