插入的数组在反向 JS 中显示
Inserted array shows in reverse JS
我刚开始学习 js,而且(我敢肯定)我遇到了很多问题,哈哈。我正在尝试将一个数组复制到指定索引位置的另一个数组中。
我似乎可以做所有正确的事情,但是当我记录结果时,插入的数组显示相反,我不知道为什么???。
我也试过.forEach as 循环方法,但我还是有点菜不能用。
这是代码:
function frankenSplice(arr1, arr2, n) {
let newArr = arr2.slice([]);
for (let i = 0; i < arr1.length; i++) {
newArr.splice(n, 0, arr1[i]);
console.log(newArr)
}
}
frankenSplice([1, 2, 3], [4, 5, 6], 1);
它记录 // [ 4, 3, 2, 1, 5, 6 ] 而不是所需的输出:[ 4, 1, 2, 3, 5, 6 ]
您在同一索引处插入元素,因此在插入 1 后,您在同一位置插入 2,将 1 和所有后续元素移回。
像我在这里所做的那样,在每次迭代后向后迭代 arr1
或递增 n
。
function frankenSplice(arr1, arr2, n) {
let newArr = arr2.slice([]);
for (let i = 0; i < arr1.length; i++) {
newArr.splice(n, 0, arr1[i]);
console.log(newArr)
n++; // add this
}
}
frankenSplice([1, 2, 3], [4, 5, 6], 1);
我刚开始学习 js,而且(我敢肯定)我遇到了很多问题,哈哈。我正在尝试将一个数组复制到指定索引位置的另一个数组中。
我似乎可以做所有正确的事情,但是当我记录结果时,插入的数组显示相反,我不知道为什么???。
我也试过.forEach as 循环方法,但我还是有点菜不能用。
这是代码:
function frankenSplice(arr1, arr2, n) {
let newArr = arr2.slice([]);
for (let i = 0; i < arr1.length; i++) {
newArr.splice(n, 0, arr1[i]);
console.log(newArr)
}
}
frankenSplice([1, 2, 3], [4, 5, 6], 1);
它记录 // [ 4, 3, 2, 1, 5, 6 ] 而不是所需的输出:[ 4, 1, 2, 3, 5, 6 ]
您在同一索引处插入元素,因此在插入 1 后,您在同一位置插入 2,将 1 和所有后续元素移回。
像我在这里所做的那样,在每次迭代后向后迭代 arr1
或递增 n
。
function frankenSplice(arr1, arr2, n) {
let newArr = arr2.slice([]);
for (let i = 0; i < arr1.length; i++) {
newArr.splice(n, 0, arr1[i]);
console.log(newArr)
n++; // add this
}
}
frankenSplice([1, 2, 3], [4, 5, 6], 1);