удалить неопределенное значение из объекта - PullRequest
2 голосов
/ 03 мая 2020

Я столкнулся с проблемой в javascript, я хочу удалить неопределенное значение из объекта

Ожидаемый результат Без undefined значения ni array.

var result = [
  undefined,  
  undefined,
  {
    group: '1042000018356',
    email: 'xyz@desk.com'
  },
  {
    group: '1042000098595',
    email: 'abc@desk.com'
  }
]

// This my logic:


result = result.map(function(index){

  for (var key in array) { // Looping
    if( index == key ){
      var group = array[key];  // Group id
      var email = key;         // Email
      return {group , email};
    }
  }
  
});
console.log("result", result);

Как я могу удалить неопределенное значение из объекта

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 3 ]

3 голосов
/ 03 мая 2020

Вы можете просто сделать фильтр и передать логический конструктор, который обеспечит удаление всех нулевых и неопределенных значений из массива результатов

var result  = [
  undefined,  
  undefined,
  {
    group: '1042000018356',
    email: 'xyz@desk.com'
  },
  {
    group: '1042000098595',
    email: 'abc@desk.com'
  }
]

result = result.filter(Boolean);

console.log(result);
2 голосов
/ 03 мая 2020

Другой способ сделать это с помощью простого filter() для удаления undefined, здесь фильтр внутренне преобразует возвращаемое значение обратного вызова в Boolean, что аналогично конструктору Boolean, т.е. 1007 *

result = [
  undefined,  
  undefined,
  {
    group: '1042000018356',
    email: 'xyz@desk.com'
  },
  {
    group: '1042000098595',
    email: 'abc@desk.com'
  }
]

result = result.filter(el=>el)
console.log(result);
0 голосов
/ 03 мая 2020

Попробуйте этот пример:

var newarray = [
  undefined,  
  undefined,
  {
    group: '1042000018356',
    email: 'xyz@desk.com'
  },
  {
    group: '1042000098595',
    email: 'abc@desk.com'
  }
];

var R = [];

newarray.map(function(item, index , myarray){

   // console.log("item -> ", item);
   if( typeof item === 'undefined') {
     // console.log("undefined detected!");
   } else {
     R.push(item);
   } 
 
});

console.log("result -> ", R);
              
...