我在主干应用程序中有一个解析方法,它从数组中构建一个 JSON 对象,但是如果一个值为空,它会被写为未定义,这会破坏其他方法的行为,我需要将未定义的值设置为空字符串,并且我在执行此操作时遇到困难,非常感谢任何帮助。
注意:在这种情况下,我尝试将 value: 的值设置为空字符串(如果 obj[key] = undefined)
代码:
parse: function(data){
return data.map(function(obj){
var key = Object.keys(obj)[0];
return {
attribute: key,
value: obj[key]
};
});
}
toQueryString: function(){
var obj = this.toQueryData(),
qs = [];
for (key in obj) {
qs.push(key + "=" + obj[key]);
}
return qs.join('&')
},
toQueryData: function(){
return this.reduce(function(memo, model){
memo[model.get('attribute')] = model.get('value');
return memo
}, {});
}
最佳答案
使用三元条件:
value: obj[key] ? obj[key] : ""
或者(正如@Derek朕会功夫所指出的),
value: obj[key] || ""
关于javascript - 将未定义的值与空字符串交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25674556/