你好我想构建一个数组,每个元素都是一对对象,像这样的东西
var Shelves = new arr[][]
var books = new Books[] ;
Shelves[book[i],book[j=i+1]],[book[i+1],book[j=i+1]] and so on......;
我的意思是我理解如何使用for循环并获取元素但是如何将它们成对推出数组? arr.push
不起作用:(
build1ArrPairs(1Arr) {
if (1Arr != undefined || 1Arr!=null) {
for (var i = 0; i < 1Arr.length; i = i + 1) {
for (var j = i + 1; j <= 1Arr.length; j++) {
this.1ArrPair.push(1Arr[i] 1Arr[j]);
break;
}
}
}
}
谢谢:)
答案 0 :(得分:0)
首先,变量名称不能以数字开头。
其次,初始化一个数组,然后添加你的元素 - 一次两个 - 并返回数组:
var ans = [];
if (Arr != undefined || Arr != null) {
for (var i=0; i<(Arr.length-1); i+=2) { // Note the loop stops 2 elements before the last one
ans.push([Arr[i], Arr[i+1]]);
// ^ Note the comma - it's missing in your code
}
}
return ans;
答案 1 :(得分:0)
或者,您可以使用array#reduce
对数组进行分组。
var names = ['a', 'b','c','d','e'];
var result = names.reduce((r,w,i) => {
let index = Math.floor(i/2);
if(!Array.isArray(r[index]))
r[index] = [];
r[index].push(w);
return r;
},[]);
console.log(result);
&#13;