Как сохранить удаленные элементы в новый массив после соединения?

#javascript

Вопрос:

Итак, в основном я пытаюсь удалить элемент из массива объектов по индексу с помощью сращивания, и это работает нормально, но я также хотел бы сохранить удаленную коллекцию в новом массиве, и, к сожалению, я получаю только один элемент после нажатия, и это не дает мне коллекцию;

 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/

Комментарии:

1. Вы могли бы попробовать сделать shallowCopy массив глобальной переменной.

Ответ №1:

Вам захочется переместить shallowCopy объявление переменной за пределы вашей функции.

И console.log после того, как функция была вызвана.