Javascript Empty String vs (null and undefined)
本问题已经有最佳答案,请猛点这里访问。
我有一个对象
1 | var data = {1:undefined,2:null,3:10,4:""} |
我想用0替换所有未定义和空值。我正在使用以下代码来执行此操作:
1 2 3 4 5 | for (var index in data) { if (!data[index]) { data[index] = 0; } } |
我期待的结果是:
我可以用
您可以添加EDOCX1[0]
1 2 3 4 5 6 7 8 9 | var data = {1:undefined,2:null,3:10,4:""} for (var index in data) { if (!data[index] && typeof data[index] != 'string') { data[index] = 0; } } console.log(data) |
这是因为长度为0的字符串是"falsy",这意味着如果将其作为布尔值计算,它将转换为
1 2 3 4 5 | for (var index in data) { if (typeof data[index] =="undefined" || data[index] == null) { data[index] = 0; } } |
尝试:
1 2 3 4 | if ((typeof <your variable> =="undefined") || ( <your variable> =="" ) ) { <your variable> = 0 ; } |
顺便问一下,您使用的是"1"、"2"索引吗?