我有一些像这样布局的数组:
var row1 = [4,6,4,0,9];
var row2 = [5,2,0,8,1];
var row3 = [2,0,3,1,6];
我想用0替换任何值为0的值。所以他们看起来像:
var row1 = [4,6,4,,9];
var row2 = [5,2,,8,1];
var row3 = [2,,3,1,6];
有什么想法吗?基本上我要做的是循环遍历数组的每个值,检查它是否等于0,如果是,则用空值替换它。
提前致谢。
答案 0 :(得分:5)
您可以使用Array.prototype.map
:
row1 = row1.map(function(val, i) {
return val === 0 ? null : val;
});
答案 1 :(得分:2)
你可以这样做:
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;
}
}
}
答案 2 :(得分:1)
另一种可能性是以下
var rows = [row1, row2, row3];
rows = rows.map(function(x){ return x.map(function(y){ return y === 0? null: y})});