2013-05-15 42 views
0

我有鋪設出像這麼幾個陣列:變化0 JavaScript數組值設置爲NULL值

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,如果是這樣,用空值替換它。

在此先感謝。

+3

你卡在什麼部分?你的描述只是工作。 – PeeHaa

+0

您可能也有興趣https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/Array/map – PeeHaa

+0

'[4,6,4,,9]'無效。你的意思是'[4,6,4,null,9]'? I.E.保持'.length'屬性?或者你是否想要移除0,留下'[4,6,4,9]'? –

回答

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/

+0

'arrRows [i] [j] == 0'在'null','undefined',''''''和'NaN'上也會返回true。如果你只想將0轉換爲tull,你應該使用'===' –

0

另一種可能性是以下

var rows = [row1, row2, row3]; 

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