我有一些排列成这样的数组:
var row1 = [4,6,4,0,9];
var row2 = [5,2,0,8,1];
var row3 = [2,0,3,1,6];
我想用空值替换任何具有 0 的值。所以它们看起来像:
var row1 = [4,6,4,,9];
var row2 = [5,2,,8,1];
var row3 = [2,,3,1,6];
有任何想法吗?基本上我要做的是循环遍历数组的每个值,检查它是否等于 0,如果是,则将其替换为空值。
提前致谢。
我有一些排列成这样的数组:
var row1 = [4,6,4,0,9];
var row2 = [5,2,0,8,1];
var row3 = [2,0,3,1,6];
我想用空值替换任何具有 0 的值。所以它们看起来像:
var row1 = [4,6,4,,9];
var row2 = [5,2,,8,1];
var row3 = [2,,3,1,6];
有任何想法吗?基本上我要做的是循环遍历数组的每个值,检查它是否等于 0,如果是,则将其替换为空值。
提前致谢。
您可以使用Array.prototype.map
:
row1 = row1.map(function(val, i) {
return val === 0 ? null : val;
});
你可以这样做:
var row1 = [4,6,4,0,9];
var row2 = [5,2,0,8,1];
var row3 = [2,0,3,1,6];
var arrRows = [row1, row2, row3];
for (var i = 0; i < arrRows.length; i++) {
for (var j = 0; j < arrRows[i].length; j++) {
if (arrRows[i][j] == 0) {
arrRows[i][j] = null;
}
}
}
演示:http: //jsfiddle.net/npYr2/
另一种可能性如下
var rows = [row1, row2, row3];
rows = rows.map(function(x){ return x.map(function(y){ return y === 0? null: y})});