将javascript数组值0更改为null值

时间:2013-05-15 22:29:01

标签: javascript arrays

我有一些像这样布局的数组:

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,如果是,则用空值替换它。

提前致谢。

3 个答案:

答案 0 :(得分:5)

您可以使用Array.prototype.map

row1 = row1.map(function(val, i) {
    return val === 0 ? null : val;
});

http://jsfiddle.net/6Mz38/

答案 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;
        }
    }
}

演示:http://jsfiddle.net/npYr2/

答案 2 :(得分:1)

另一种可能性是以下

var rows = [row1, row2, row3];

rows = rows.map(function(x){ return x.map(function(y){ return y === 0? null: y})});