首页 > 解决方案 > 拼接后如何将删除的项目存储到新数组中?

问题描述

所以,基本上我正在尝试使用拼接通过索引从对象数组中删除项目,它工作正常,但我也想将删除的集合存储到新数组中,遗憾的是我只得到一个元素之后点击,它没有给我一个收藏;

const toArchive = (arr, index) => {
    arr.filter((elem, i) => {
        if (i === index) {
            return elem;
        }
    })
    let shallowCopy = [];
    shallowCopy.push(...arr.splice(index, 1));
    listToView(arr);
    console.log(shallowCopy);
}

这就是我得到的:

[{…}]
[{…}]
[{…}]
[{…}]

期望的结果:

(4) [{…}, {…}, {…}, {…}]

主要代码的一部分:http: //jsfiddle.net/k8qa3cyp/1/

标签: javascript

解决方案


您需要将shallowCopy变量声明移到函数之外。

并且console.log在函数被调用之后。


推荐阅读