我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
当前回答
我认为.pop()是最“正确”的解决方案,然而,有时它可能不起作用,因为你需要使用数组没有最后一个元素在那里…
在这种情况下,你可能想使用下面的代码,它将返回[1,2,3]
var arr = [1,2,3,4]; console.log(arr.splice(0,arr.length-1));
而.pop()将返回4:
Var arr = [1,2,3,4]; console.log (arr.pop ());
这可能并不可取……
希望这能为您节省一些时间。
其他回答
这里有一个函数解释一下:
arr.pop();
你需要这样做,因为slice不会改变原始数组。
arr = arr.slice(0, -1);
如果你想改变原始数组,你可以使用splice:
arr.splice(-1, 1);
或者流行:
arr.pop();
使用Lodash,你可以使用dropRight,如果你不关心哪些元素被删除了:
_.dropRight([1, 2, 3])
// => [1, 2]
_.dropRight([1, 2, 3], 2);
// => [1]
以身作则:
let array_1 = [1,2,3,4];
let array_2 = [1,2,3,4];
let array_3 = [1,2,3,4];
let array_4 = [1,2,3,4];
array_1.splice(-1,1) // returned --> [4] array_1 = [1,2,3]
array_2.slice(0,-1); // returned --> [1,2,3] array_2 = [1,2,3,4]
array_3.pop(); // returned --> 4 array_3 = [1,2,3]
array_4.shift(); // returned --> 1 array_4 = [2,3,4]
var arr = [1,0,2];
arr.length--;
//删除最后一个元素 //需要检查arr。长度为> 0