let myArr=[{
    "name": "",
    "columns": [
      {
        
        "data": "test1",
        "type": "",
        
        
      },
      undefined,
      {
        "data": "test1",
        "type": "",
      }
    ],
    "info": "value",
    
  }]

अपरिभाषित या शून्य मान वाले ऑब्जेक्ट के ऊपर, मुझे अपरिभाषित मानों को हटाना होगा।

-1
Testcse Cseapi 17 अप्रैल 2021, 17:52

1 उत्तर

सबसे बढ़िया उत्तर

यह Array.map()< को मिलाकर किया जा सकता है /a>, Object.keys(), Array.reduce(), Array.isArray() और Array.filter() (मुख्य अंश) जैसा कि नीचे रन करने योग्य कोड में दिखाया गया है:

let myArr=[{
    "name": "",
    "columns": [
      {        
        "data": "test1",
        "type": "",        
      },
      undefined,
      {
        "data": "test1",
        "type": "",
      }
    ],
    "info": "value",    
  }]
  
myArr = myArr.map(o => Object.keys(o).reduce((acc, key) => {
  let value = o[key];  
  if (Array.isArray(value)) {
    value = value.filter(o2 => o2);
  }
  acc[key] = value;
  return acc;
}, {}));

console.log(myArr);
0
uminder 18 अप्रैल 2021, 15:45