如何从具有未定义值的对象中删除键

时间:2014-02-25 13:30:31

标签: javascript node.js underscore.js javascript-objects

我有一个javascript对象,其中包含大量的键值对,其中一些键的值为undefined。我要删除具有未定义值的键。

我怎样才能实现它?

2 个答案:

答案 0 :(得分:3)

使用下划线,您可以使用filter功能:

var data = { a: 1, b: undefined, c: 3};

var noUndefineds = _.filter(data, function(value){
    return value != undefined;
});

或使用带有isUndefined谓词的reject函数:

var noUndefineds = _.reject(data, _.isUndefined);

答案 1 :(得分:0)

你可以这样做:

for(var k in obj) { 
  if (typeof obj[k] == 'undefined') { 
    delete obj[k]; 
}}