当前位置: 首页 > 知识库问答 >
问题:

从数组中删除最后一项(而不是返回项)

金嘉言
2023-03-14

我当前的数组:abc=['a','b','c','d']

我理解。pop()remove并返回数组的最后一项,因此:abc。pop();='d'

但是,我想删除最后一项,并返回数组。因此,它将返回:

['a','b','c']

是否有用于此的JavaScript函数?


共有3个答案

杨轶
2023-03-14

在表达式中,使用逗号运算符。
(留档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator//thx@Zero)

(abc.length--, abc)    

// expl :
  (abc.length--, abc).sort();

或者在函数中,最方便的是在Array原型上设置它:

 Array.prototype.removeLast = function () {
       this.length--;
       return this;
 }

打电话给

var abc = ['you', 'and', 'me'];
abc.removeLast(); 

您可以使用菊花链:

abc.removeLast().sort();
程磊
2023-03-14

这样做

abc = abc.splice(0, abc.length-1)

Edit:有人指出,这实际上返回一个新数组(尽管具有相同的变量名)。

如果要返回相同的数组,则必须创建自己的函数

function popper(arr) {
   arr.pop();
   return arr;
}
孙梓
2023-03-14

pop()函数也从数组中删除最后一个元素,所以这就是你想要的(JSFiddle上的演示):

var abc = ['a', 'b', 'c', 'd'];
abc.pop()
alert(abc); // a, b, c
 类似资料:
  • 问题内容: 我有以下数组。 我想删除最后一个元素,即2。 我用过,但不会删除值。 问题答案: 使用拼接(索引,多个)

  • 我是JavaScript的新手。我想从数组中删除最后一个元素,而不使用pops方法。我尝试过使用长度属性,但在我的控制台中没有定义。请帮帮忙!

  • 由于某种原因,我的解决方案并不完整。我从隐藏的规格测试中得到了80/100。 我的解决方案有什么问题?可能有一个我没有想到的用例 使用ArrayList而不是array会如何改变空间/时间复杂性 有没有更好的方法来解决这个问题 我当前的解决方案处理: 空输入数组 编写一个Java方法,它从给定的整数元素数组arr中删除给定整数元素x的最后一个匹配项。 该方法应返回一个新数组,其中包含给定数组arr

  • 问题内容: 当我选择一行并按“删除”按钮时: 在摆动界面中,选定的行将被删除(如预期的那样)。但 在实际的数据库中,无论选择的行是什么(都不期望),最后一行都将被删除。无论实际选择的行是什么,被删除的行始终是数据库中的最后一行。我的代码中没有错误,也没有抛出异常。它的工作没有任何中断。 我实际上在代码中添加了必要的内容: 并添加“删除”按钮以删除选定的行: 问题答案: 谢谢@Germann … 我

  • 单击后退按钮时,尝试从数组中删除最后一个元素。控制台显示了阵列中正确的元素。看起来array.slice功能不起作用,但是我看不出为什么。 代码是: 答案数组显示正确的结果,除了数组中的最后一个元素没有被删除。谢谢!