这里我创建了二维数组并将值推入其中。在这段代码中,我使用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中回答
答案 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)
尝试:
SearchContoller
&#13;
答案 2 :(得分:0)
我的问题我需要创建一个数组并将值推送到数组中 一次循环
如果预期结果是console.log(JSON.stringify(arr));//[[0,1,2],[0,1,2],[0,1,2],[0,1,2]]
,可以将初始数组项推送到同一个数组吗?
如果arr.length
0
推送tot
,tot + 1
,tot + 2
推送到arr
,请将arr[0]
推送到{{ 1}}
arr
&#13;
答案 3 :(得分:0)
只需使用函数方法Function.prototype.apply()
和一个指定长度的对象,使用数组方法Array.prototype.map()
来填充另一个数组和值。
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;