从数组/ Javascript中删除具有空值的对象

时间:2018-07-18 11:07:39

标签: 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

编辑:更正的语法

5 个答案:

答案 0 :(得分:2)

恕我直言,您正在寻找这样的东西:

class A {
    void print(int);
};
class B: public A {
    void print(float);
};

注意:您的数组不是正确的数组(因为其中的var arr = [{id:0, value: 'zero'}, {id:1, value: 'one'}, {id:2, value: ''}]; var filteredArr = arr.filter(obj => obj.value != '') console.log(filteredArr); 无效)。

答案 1 :(得分:0)

您错过了id值的逗号和x <- matrix(c(33, 45, 50, NA, NA, 54), nrow=2, byrow=TRUE) y <- diag(1:3) x0 <- x x0[is.na(x)] <- 0 z <- x0 %*% y z[is.na(x)] <- NA z [,1] [,2] [,3] [1,] 33 90 150 [2,] NA NA 162 属性值的引号

value

答案 2 :(得分:0)

您的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)

答案 3 :(得分:0)

下面的链接已经回答了这个问题,请看看

点击here

答案 4 :(得分:0)

以下代码在更多情况下会很有用,例如,如果对象值是: false null空字符串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);