从JS对象中删除具有空值的对象属性

时间:2020-02-07 14:32:07

标签: javascript

是否有一种方法可以遍历对象并删除值与特定条件匹配的属性? 在这种情况下,我要删除所有没有值的属性。

这就是我所拥有的:

var user = { first : 'John', last : 'Doe', city : 'Boston', state : 'MA', zip : '', birthdate : ''}

for(const [key, value] of Object.entries(user)){
  if(!value){
    delete user.key;
   }
 });

代码检测到一个空值,但删除功能不起作用;

谢谢!

2 个答案:

答案 0 :(得分:0)

Reflect.deleteProperty(user, key);

您可以使用类似的东西

答案 1 :(得分:0)

您快到了,尝试尝试:

var user = { first : 'John', last : 'Doe', city : 'Boston', state : 'MA', zip : '', birthdate : ''};

for (let [key, value] of Object.entries(user)) {
  if(value.length <= 0) {
      delete user[key]
  }
}
console.log(user);