如何删除第一个数组元素而不更改原始数组?

时间:2017-02-03 15:22:22

标签: javascript arrays

给定一个数组:

arr1 = ['x', 'y', 'z']

我需要一种方法从arr1中删除第一个元素,并将返回的数组保存在这样的新变量中:

arr1 = ['x', 'y', 'z'];
arr2 = ['y', 'z'];

4 个答案:

答案 0 :(得分:3)

使用slice复制arr1,然后在该数组上使用splice



var arr1 = ['x','y','z'];
var arr2 = arr1.slice().splice(1, 2);

console.log(arr1)
console.log(arr2)




答案 1 :(得分:2)

arr1 = ['x', 'y', 'z'];
arr2 = arr1.slice(1, 3);

console.log(arr2);
console.log(arr1);

答案 2 :(得分:0)

在ES6中,我们可以使用Array Destructuring忽略第一个元素,从其余的数组元素中创建另一个数组,并将其分配给其他变量:

let arr1 = ['x', 'y', 'z'];
    
let [, ...arr2] = arr1;

console.log(arr2);
console.log(arr1);

答案 3 :(得分:0)

您可以使用Lodash库中的_.tail方法。

var arr1 = ['x', 'y', 'z'];
var arr2 = _.tail(arr1);
console.log(arr1);
console.log(arr2);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>