我想基于另外两个数组创建下一个数组:
array1 = ['a', 'b']
array2 = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我想创建下一个数组
newArray = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]]
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
var test1 = ['a', 'b'];
var test2 = [1,2,3], arr1 = [], arr2 = [];
for(var i = 0; i < test1.length; i++){
arr1 = [];
arr1.push(test1[i]);
for(var x = 0; x < test2.length; x++){
if(arr1.length > 1)
arr1.pop();
arr1.push(test2[x])
arr2.push(arr1);
}
}
console.log("arr1:",JSON.stringify(arr1), "arr2:" ,JSON.stringify(arr2));Run Code Online (Sandbox Code Playgroud)
但它返回第二个数组的最后一个元素.
[['a',3], ['a',3], ['a',3], ['b',3], ['b',3], ['b',3]]
Run Code Online (Sandbox Code Playgroud)
为什么会这样?