如何删除数组中的第一个和最后一个元素?
例如:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
预期输出数组:
["Orange", "Apple"]
答案 0 :(得分:120)
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 :(得分:62)
创建1级深层副本。
fruits.slice(1, -1)
放开原始阵列。
感谢@Tim指出拼写错误。
答案 2 :(得分:14)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newFruits = fruits.slice(1, -1);
console.log(newFruits); // ["Orange", "Apple"];
这里,-1表示数组中的最后一个元素,1表示第二个元素。
答案 3 :(得分:8)
我使用拼接方法。
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
要删除最后一个元素,您也可以这样做:
fruits.splice(-1, 1);
请参阅Remove last item from array以查看有关它的更多评论。
答案 4 :(得分:2)
push()
在数组的末尾添加一个新元素
pop()
从数组末尾删除一个元素。
unshift()
在数组的开头添加一个新元素
shift()
从数组的开头删除一个元素。
要从数组arr
中移除第一个元素,请使用arr.shift()
要从数组arr
中删除最后一个元素,请使用arr.pop()
答案 5 :(得分:1)
您可以使用Array.prototype.reduce()。
代码:
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);
&#13;
答案 6 :(得分:0)
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"];
答案 7 :(得分:0)
要从数组中删除元素很简单,只需执行以下操作
let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')
答案 8 :(得分:0)
这可以通过lodash _.tail
和_.dropRight
完成:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(_.dropRight(_.tail(fruits)));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
答案 9 :(得分:0)
假设您有一个名为list的数组。 Splice()函数可用于在特定索引(即可以在开头,结尾或任何索引处)中添加和删除数组中的项目。相反,还有另一个函数名称 shift()和 pop(),它们只能删除数组中的第一项和最后一项。
这是Shift函数,仅能删除数组的第一个元素
var item = [ 1,1,2,3,5,8,13,21,34 ]; // say you have this number series
item.shift(); // [ 1,2,3,5,8,13,21,34 ];
Pop Function从数组的最后一个索引处删除项目
item.pop(); // [ 1,2,3,5,8,13,21 ];
现在有了拼接功能,您可以通过该功能删除任何索引处的项目
item.slice(0,1); // [ 2,3,5,8,13,21 ] removes the first object
item.slice(item.length-1,1); // [ 2,3,5,8,13 ] removes the last object
slice函数接受两个参数(索引开头,要执行的步骤);
答案 10 :(得分:0)
为了避免变异和改变源数组,ReactJS开发者不能使用pop
、shift
函数,因为两者都会改变源数组,而这种改变是非常深的错误的根源。
最好的方法是使用 slice
JavaScript 内置函数。此函数将创建源数组的一个切片并为您返回一个新数组,它也接受负索引号,这意味着第一个负数是数组中的最新项。所以:
fruits.slice(a, b)
a
开始,不需要索引 a - 1
。b - 1
结尾,不需要索引 b
。所以根据上面的解释,如果我们放 a = 1
意味着我们不想要第一个元素,如果我们放 b = latest
则意味着切片将以索引 b - 1
结束,我们不想要' t 什么索引b
。
✨:slice
函数中最新元素的索引是什么?正确的-1
。
✅ 所以最后的答案是:
fruits.slice(1, -1)
答案 11 :(得分:-1)
你用过 Fruits.shift()方法将第一个元素删除。 如果您使用按钮单击,则用于最后一个元素的Fruits.pop()方法逐个删除。 Fruits.slice(起始位置,删除元素)您还在中间开始使用了slice方法删除元素。
答案 12 :(得分:-2)
要删除数组的第一个元素和最后一个元素,方法是使用数组的内置方法,即shift()
和pop()
,fruits.shift()
获得数组的第一个元素为fruits.pop()
期间的“香蕉”获得数组的最后一个元素为“芒果”。因此数组的其余元素将为["Orange", "Apple"]