簡體   English   中英

從數組/ Javascript中刪除具有空值的對象

[英]Remove objects with empty values from array / Javascript

我有一個對象數組:

let arr = [{id:0, value: 'zero'}, 
           {id:1, value: 'one'}, 
           {id:2, value: ''}]

我需要刪除具有空值的對象。 我正在嘗試:

const removeEmpty = (arr) => {
let filtered = arr.filter(val => val.value != '');
return filtered;

};

卡住了:

TypeError: Cannot read property 'filter' of undefined

編輯:更正的語法

恕我直言,您正在尋找這樣的東西:

 var arr = [{id:0, value: 'zero'}, {id:1, value: 'one'}, {id:2, value: ''}]; var filteredArr = arr.filter(obj => obj.value != '') console.log(filteredArr); 

注意:您的數組不是正確的數組(因為其中的Objects無效)。

您錯過了ID值的逗號和value屬性值的引號

 let arr = [{id:0, value: "zero"}, {id:1, value: "one"}, {id:2, value: ''}]; console.log(arr.filter(a => a.value != '')); 

似乎您的arr不正確,即對象鍵值對無效

let arr = [{id:0, value: 'zero'}, {id:1, value: 'one'},  {id:2, value: ''}];

const removeEmpty = (arr) => {
  let filtered = arr.filter(val => val.value !== ''); 
  return filtered;
}

removeEmpty(arr)

這個問題已經在下面的鏈接中回答了,請看看

點擊這里

以下代碼在更多情況下會很有用,例如,如果對象值為: falsenull空字符串undefined

let arr = [
  {id:0, value: 'zero'}, 
  {id:1, value: 'one'}, 
  {id:2, value: ''},
  {id:3, value: false},
  {id:4, value: null},
  {id:5}
];

const filteredArr = arr.filter(obj => obj.value);  

console.log(filteredArr);

暫無
暫無

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

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