您好我想创建一个包含多个数组的数组,并且每个下一个数组都具有与前一个数组相同的值,加上新数组。
例如:[[1],[1,2],[1,2,3]]
这是一个小提琴 - > https://jsfiddle.net/zLd3pqzz/
问题是所有阵列都是相同的
答案 0 :(得分:0)
您需要使用Array#slice
代替Array#splice
。
return innerArr.slice(0) // returns copy of original
// ^^^^^
var outerArr = [],
innerArr = [];
function fillInner(data) {
innerArr.push(data);
return innerArr.slice(0) //returns copy of original
}
function fillOuter(data) {
outerArr.push(fillInner(data));
console.log(outerArr);
}
fillOuter(1);
fillOuter(2);
fillOuter(3);