我有以下数组。
var arr = [1,0,2];
我想要移除最后一个元素2。
我使用了arr.slice(-1);
,但它并没有移除该值。
我有以下数组。
var arr = [1,0,2];
我想要移除最后一个元素2。
我使用了arr.slice(-1);
,但它并没有移除该值。
假设你有var arr = [1,0,2]
arr.splice(-1,1)
会返回数组[1,0];
而 arr.slice(-1,1)
会返回数组[2];
const a = [1,2,3]
const [, ...rest] = a.reverse();
const withoutLast = rest.reverse();
console.log(withoutLast)
if (arr != null && arr != undefined && arr.length > 0) {
arr.splice(arr.length - 1, 1);
}
以下是splice的详细信息:
splice(startIndex, splice的数量)
var stack = [1,2,3,4,5,6];
stack.reverse().shift();
stack.push(0);
如果你想从 JavaScript 数组的末尾删除 n 个元素,你可以很容易地使用以下代码:
arr.splice(-n, n);
如果你正在寻找一个不需要初始化多个变量的一行代码:
var arr = [1,0,2];
arr = arr.filter((_,i,a) => i !== (a.length-1));
解释: 我们正在使用Array Filter Method,它接受3个回调函数:
element
(_
):迭代期间的当前元素index
(i
):元素迭代的索引array
(a
):用于过滤的数组因此,如果它是正在使用的array
中的最后一个元素,我们就跳过该元素。
_
只是一个占位符,因为我们实际上没有使用它。
只需要使用arr.splice(-1)
即可。
arr.slice(0, -1)
,并且这不是一个修改,它应该像这样保存:var newArray = arr.slice(0, -1)
。 - Ardit Hyka// Setup
var myArray = [["John", 23], ["cat", 2]];
// Only change code below this line
var removedFromMyArray;
removedFromMyArray = myArray.pop()
我得到了最好的答案!
var array = [1, 2, 3, 4]
array.length = array.length - 1
console.log(array)
> [1, 2, 3]
老实说,JS现在已经成为一个梗了。
附注:这会影响变量及其任何引用,如果你不想影响变量的任何引用,可以这样做:
var array = [1, 2, 3, 4]
var modifiedArray = Array.from(array)
modifiedArray .length = modifiedArray .length - 1
console.log(modifiedArray )
> [1, 2, 3]
arr.slice(0,-1)
对我来说是最佳解决方案。 - Black Mambasplice()
方法;对于第二种情况,可以使用pop()
方法。 - thoni56arr.splice(-1,1)
会返回数组[1,0]
;arr.slice(-1,1)
会返回[2]
" - Cadoiz