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

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

例如:

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

预期输出数组:

["Orange", "Apple"]
153389 次浏览

创建1级深度副本。

fruits.slice(1, -1)

放开原始数组。

感谢@Tim 指出了拼写错误表。

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.

请参见 Array 的所有方法。

我用拼接法。

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);

请参阅 从数组中删除最后一项以查看有关它的更多评论。

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

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

你用了 Shift ()方法移除第一个元素。 用于最后一个元素的 Fruits.pop ()方法,如果使用按钮单击,则逐个删除。 Slice (开始位置,删除元素)还使用了 slice 方法在中间开始移除元素。

你可以使用 Prototype.reduce ()

密码:

const fruits = ['Banana', 'Orange', 'Apple', 'Mango'],
result = fruits.reduce((a, c, i, array) => 0 === i || array.length - 1 === i ? a : [...a, c], []);


console.log(result);

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"];

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

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

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

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

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

要删除一个数组的第一个和最后一个元素是通过使用一个数组的内置方法,即 shift()pop()fruits.shift()获得数组的第一个元素作为“ Banana”,而 fruits.pop()获得数组的最后一个元素作为“ Mango”。因此数组的其余元素将是 ["Orange", "Apple"]

这可以通过 LODAS_.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>

假设您有一个数组名为 list。拼接函数可用于在特定索引中添加和删除数组中的项,即可以位于开头或结尾,也可以位于任何索引。相反,还有另一个函数名 Shift (),它们只能删除数组中的第一个和最后一个项。

这就是 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 函数从数组的最后一个索引处删除项

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

切片函数接受两个参数(首先是索引还有多少步要走) ;

为了避免 变异和更改源数组,< strong > ReactJS 开发人员不能使用 popshift函数,因为两者都会更改源数组,而这种更改是非常深层次的 bug 的根源。

最好的方法是使用 sliceJavaScript 内置函数。这个函数将创建源数组的一个片段,并为您返回一个新数组,它也接受负索引号,这意味着第一个负数是数组中的最新项。所以:

fruits.slice(a, b)
  • 第一个参数表示从索引 a开始,不需要索引 a - 1
  • 第二个参数表示索引 b - 1中的片末端,并且不需要索引 b

所以根据上面的解释,如果我们放入 a = 1,这意味着我们不需要第一个元素,如果我们放入 b = latest,这意味着切片将以索引 b - 1结束,我们不需要什么索引 b

Something : slice函数中最新元素的指数是多少? 正确的 -1

Something 因此,最终的答案是:

fruits.slice(1, -1)

我把所有值得注意的答案都过了一遍,我指给你看 不同的答案。它对我有用。我希望它能帮助你

fruits.slice(1,fruits.length-1)