创建二维数组并在javascript中推送值

时间:2015-10-18 06:50:45

标签: javascript arrays

这里我创建了二维数组并将值推入其中。在这段代码中,我使用for循环创建空数组,并再次使用forloop将值推送到数组中。我的问题是我需要创建一个数组并将数组中的值推送一次for循环。

var arr = [];
for (var tot=0;tot<4;tot++) {//creating empty arrays
    arr.push([]);
}
for (var tot=0;tot<4;tot++) {//pushing values into an array
    for (var i=0;i<3;i++) {
        arr[tot].push(i);
    }
}
console.log(JSON.stringify(arr));//[[0,1,2],[0,1,2],[0,1,2],[0,1,2]]

在javascript或jquery中回答

4 个答案:

答案 0 :(得分:1)

尝试这个,对于O(n)循环:

var arr = [],dimentions = [3,4];
for (var i = 0; i< dimentions[0] * dimentions[1];i++) {
    var x = Math.floor(i/dimentions[0]), y = i%dimentions[0];
    arr[x] = arr[x] || [];
    arr[x].push(y);
}
console.log(JSON.stringify(arr));//[[0,1,2],[0,1,2],[0,1,2],[0,1,2]]

如果你对O(n ^ 2)嵌套循环没问题,那么

var arr = [];
for (var i = 0; i < 4; i++) {//pushing values into an array
    arr[i] = arr[i] || [];
    for (var j = 0; j < 3;j++) {
        arr[i].push(j);
    }
}
console.log(JSON.stringify(arr));//[[0,1,2],[0,1,2],[0,1,2],[0,1,2]]

答案 1 :(得分:0)

尝试:

&#13;
&#13;
SearchContoller
&#13;
&#13;
&#13;

答案 2 :(得分:0)

  

我的问题我需要创建一个数组并将值推送到数组中   一次循环

如果预期结果是console.log(JSON.stringify(arr));//[[0,1,2],[0,1,2],[0,1,2],[0,1,2]],可以将初始数组项推送到同一个数组吗?

如果arr.length 0推送tottot + 1tot + 2推送到arr,请将arr[0]推送到{{ 1}}

&#13;
&#13;
arr
&#13;
&#13;
&#13;

答案 3 :(得分:0)

只需使用函数方法Function.prototype.apply()和一个指定长度的对象,使用数组方法Array.prototype.map()来填充另一个数组和值。

&#13;
&#13;
var n = 3,
    array = Array.apply(Array, { length: n }).map(function () {
        return Array.apply(Array, { length: n }).map(function (_, i) {
            return i;
        });
    });

document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');
&#13;
&#13;
&#13;