簡體   English   中英

根據 object 中的鍵值組合刪除/過濾 object

[英]Remove/Filter object on basis of key-value combination from object

如何根據其中一個屬性的特定值從大型 object 中過濾掉 object。

defaultSettings = {    
'header1': {
    key: '00_02',
    element: {
        'test1': '',                        
    },
    elementName: 'footer'
},    
'enabled': {},    
'header2': [
    {
        key: '',
        value: {
            msg1: {},
            msg2: 'message2',                
        },
        elementName: 'unwanted-element1'
    }       
],
'header3': {        
    info: '',        
    headline: ''
},        
};

我想從defaultSettings中刪除 object where elementName: 'unwanted-element1'

我正在嘗試類似的東西

for (let key of Object.keys(defaultSettings)) {                        
    if(key === 'header2'){
        if(key['elementName'] == 'unwanted-element1' ){
            //delete that particular object.
        }
    }
}
console.log(defaultSettings);

Output 預期:

{    
'header1': {
    key: '00_02',
    element: {
        'test1': '',                        
    },
    elementName: 'footer'
},    
'enabled': {},    
'header2': [],
'header3': {        
    info: '',        
    headline: ''
},        
}

請提出更好的方法來實現這一目標。

defaultSettings['header2'] = defaultSettings['header2'].filter(prop => prop.elementName != 'unwanted-element1');

所以在這里我通過不包括unwanted-element1 1來過濾header2並將結果再次分配給defaultSettings

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM