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

从array/Javascript中删除具有空值的对象,javascript,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; }) 坚持这一点: Ty

我有一个对象数组:

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

编辑:更正语法

您在id的值上遗漏了一个逗号,在
属性的值上遗漏了一个引号

让arr=[{id:0,值:“zero”},
{id:1,值:“一”},
{id:2,值:''}];

log(arr.filter(a=>a.value!='')
您在id的值上遗漏了一个逗号,在
值的值上遗漏了一个引号

让arr=[{id:0,值:“zero”},
{id:1,值:“一”},
{id:2,值:''}];

log(arr.filter(a=>a.value!='')IMHO,您正在寻找这样的东西:

var arr=[{id:0,值:'zero'},{id:1,值:'one'},{id:2,值:''}];
var filteredar=arr.filter(obj=>obj.value!='')
控制台日志(Filteredar);

IMHO,你正在寻找这样的东西:

var arr=[{id:0,值:'zero'},{id:1,值:'one'},{id:2,值:''}];
var filteredar=arr.filter(obj=>obj.value!='')
控制台日志(Filteredar);

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

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

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


点击

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


点击

以下代码在更多情况下会有所帮助,例如,如果对象值为:false
null
、空字符串或
未定义

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);

以下代码在更多情况下会很有帮助,例如,如果对象值为:false
null
、空字符串或
未定义

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);

如何调用
removempty
?您的命名是错误的做法-您的参数
arr
在闭包中隐藏
arr
。您应该重命名参数,并决定是使用闭包中的变量还是参数(可能是后者,或者根本不需要参数)
如何调用
removempty
?您的命名是错误的做法-您的参数
arr
在闭包中隐藏
arr
。您应该重命名参数,并决定是使用闭包中的变量还是参数(可能是后者,或者根本不需要参数)