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

Moh*_*Ram 91 javascript arrays

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

例如:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
Run Code Online (Sandbox Code Playgroud)

预期的输出数组:

["Orange", "Apple"]
Run Code Online (Sandbox Code Playgroud)

小智 133

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. 
Run Code Online (Sandbox Code Playgroud)

查看Array的所有方法.

  • 使用jquery nativeArrayMethods插件的+1.大声笑 (12认同)
  • 亲爱的downvoters,你可能希望你的downvotes有所帮助,所以请添加一个注释来解释答案有什么问题. (3认同)
  • 这将仅返回已删除(第一个或最后一个)元素的值,而不是剩余的数组 (3认同)
  • 就像User一样使用这个函数就像你编写它一样definatly正常工作作为remove元素,但是如果用户写`return fruits.shift()`它将只返回第一个元素然后从数组中删除. (2认同)

Anu*_*rag 71

创建1级深层副本.

fruits.slice(1, -1)
Run Code Online (Sandbox Code Playgroud)

放开原始数组.

感谢@Tim指出拼写错误.

  • 切水果比弹出或转移水果更好. (65认同)
  • 我认为你的意思是 `slice()` 而不是 `splice()`。 (2认同)
  • 随着redux,函数javscript和不可变事物的增加普及,这个答案更好 (2认同)

Tip*_*ipu 16

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

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


小智 9

我使用拼接方法.

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
Run Code Online (Sandbox Code Playgroud)

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

fruits.splice(-1, 1);
Run Code Online (Sandbox Code Playgroud)

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


Har*_*hid 5

push()将新元素添加到数组末尾。
pop()从数组末尾删除一个元素。

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

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