将Javascript对象中的所有falsey值转换为空字符串

时间:2016-02-27 23:05:14

标签: javascript angularjs

有没有办法将Javascript对象中的所有未定义的,NaN等值转换为空字符串(因此至少已定义)。

例如:javascriptObject = defineUndefined(javascriptObject)

那样的东西。

2 个答案:

答案 0 :(得分:0)

一个想法可能是检查一个值是否为NaN,并将其设置为等于0(或您选择的值)。

if (isNaN(x)) x = 0;

有关isNaN的更多信息,您可以在此处查看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN

答案 1 :(得分:0)

demo_object = { 
 string: 'non empty string',
 emptyString: '',
 nullString: null,
 zero: 0,
 nonZero: 10,
 negativeNumber: -10,
 undefinedValue: undefined,
 notANumber: NaN 
}

使用以下代码将 null NAN undefined 0 转换为空字符串的demo_object。

 Object.keys(demo_object).map((key)=>{                       
  if(!demo_object[key]){    
    demo_object[key] =''    
  }
});

下面是更新的demo_object

demo_object = { 
  string: 'non empty string',
  emptyString: '',
  nullString: '',
  zero: '',
  nonZero: 10,
  negativeNumber: -10,
  undefinedValue: '',
  notANumber: '' 
}