关于javascript:删除数组中的第一个和最后一个元素

to remove first and last element in array

如何删除数组中的第一个和最后一个元素?

例如:

1
var fruits = ["Banana","Orange","Apple","Mango"];

预期输出数组:

1
["Orange","Apple"]


1
2
fruits.shift();  // Removes the first element from an array and returns only that element.
fruits.pop();    // Removes the last element from an array and returns only that element.

查看数组的所有方法。


创建一个1级深度副本。

1
fruits.slice(1, -1)

放开原来的数组。

感谢@tim指出拼写错误表。


1
2
3
var fruits = ["Banana","Orange","Apple","Mango"];
var newFruits = fruits.slice(1, -1);
console.log(newFruits); //  ["Orange","Apple"];

这里,-1表示数组中的最后一个元素,1表示第二个元素。


我用拼接法。

1
2
3
4
5
fruits.splice(0, 1); // Removes first array element

var lastElementIndex = fruits.length-1; // Gets last element index

fruits.splice(lastElementIndex, 1); // Removes last array element

要删除最后一个元素,也可以这样做:

1
fruits.splice(-1, 1);

请参见从数组中删除最后一个项以查看有关它的更多注释。


push()在数组的末尾添加了一个新元素。pop()从数组的末尾删除一个元素。

unshift()在数组的开头添加了一个新元素。shift()从数组的开头删除一个元素。

要从数组arr中删除第一个元素,请使用arr.shift()要从数组arr中删除最后一个元素,请使用arr.pop()


您可以使用array.prototype.reduce()。

代码:

1
2
3
4
const fruits = ['Banana', 'Orange', 'Apple', 'Mango'],
      result = fruits.reduce((a, c, i, arr) => (0 < i && i < arr.length - 1 && a.push(c), a), []);

console.log(result);


这可以通过lodash _.tail_.dropRight来实现:

1
2
var fruits = ["Banana","Orange","Apple","Mango"];
console.log(_.dropRight(_.tail(fruits)));
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js">


从数组中移除元素很容易,只需执行以下操作

1
2
3
let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')

1
2
3
4
5
6
var resident_array =  ["RC_FRONT","RC_BACK","RC_BACK"];
var remove_item ="RC_FRONT";
resident_array = $.grep(resident_array, function(value) {
            return value != remove_item;
    });
resident_array = ["RC_BACK","RC_BACK"];


你用方法将第一个元素移除。最后一个元素使用的fruits.pop()方法,如果使用按钮单击,则逐个删除。水果。切片(开始位置,删除元素)你也使用切片方法删除元素在中间开始。


删除数组的第一个和最后一个元素是使用数组的内置方法,即shift()pop()fruits.shift()将数组的第一个元素取为"banana",而fruits.pop()将数组的最后一个元素取为"mango"。所以数组的其余元素将是["Orange","Apple"]