Js从数组中删除元素而不更改原始元素

Baz*_*nga 8 javascript arrays

我想知道是否有办法在不制作数组的完整副本的情况下执行此操作,然后拼接副本.

var arr = [{id:1, name:'name'},{id:2, name:'name'},{id:3, name:'name'}];
Run Code Online (Sandbox Code Playgroud)

我需要通过他的索引临时删除元素并使用没有此元素的数组,但我不想更改原始数组.

你甚至可以用lodash给我路.

c.P*_*.u1 17

Array.prototype.filter 将创建并返回一个由与谓词匹配的元素组成的新数组.

function removeByIndex(array, index) {
  return array.filter(function (el, i) {
    return index !== i;
  });
}
Run Code Online (Sandbox Code Playgroud)

ECMAScript 6更短:

var removeByIndex = (array, index) => array.filter((_, i) => i !== index);
Run Code Online (Sandbox Code Playgroud)