推送到数组中的第一个空闲位置

时间:2014-03-24 12:17:13

标签: javascript arrays

这样做最美妙的方式是什么?

var arr = [1,2,3,undefined, null,,null];

推送4将输出:

[1,2,3,4,null,,null]

3 个答案:

答案 0 :(得分:0)

var ind = arr.join().split(',').indexOf('');
if (ind !== -1)
    arr[ind] = 4

答案 1 :(得分:0)

你可以这样做;

function push(arr, to_be_added) {
    for (var i in arr) {
        if (arr[i] == null || arr[i].length == 0 || arr[i] == undefined) {
            arr[i] = to_be_added;
            return;
        }
    }
}

以下是工作演示: jsfiddle

答案 2 :(得分:0)

你可以试试这个:

var arr = [1,2,3,,,null];
var indx = arr.indexOf(null)||arr.indexOf("");
if (indx !== -1)
arr[indx] = 4
alert(arr.sort());

对于这两种类型的数组,这将返回您需要..