我有下面的数组。
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];
其他回答
var arr = [ 0, 1, 2, 3, 4, 5, 6, 7 ]; // using slice arr = arr.slice(0, -1); console.log('arr : ', arr); // using splice arr.splice(-1); console.log('arr : ', arr); // using pop arr.pop(); console.log('arr : ', arr); // using shift and reverse arr.reverse().shift() arr.reverse(); console.log('arr : ', arr); // using spread Operator and reverse const [, ...exceptLast] = arr.reverse(); arr = exceptLast.reverse(); console.log('arr : ', arr); // removing last index arr.length -= 1; console.log('arr : ', arr);
假设你有var arr = [1,0,2]
Arr.splice(-1,1)将返回数组[1,0];而arr.slice(-1,1)将返回数组[2];
你需要这样做,因为slice不会改变原始数组。
arr = arr.slice(0, -1);
如果你想改变原始数组,你可以使用splice:
arr.splice(-1, 1);
或者流行:
arr.pop();
使用JavaScript约定的Array.prototype.pop()。
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]
使用Lodash,你可以使用dropRight,如果你不关心哪些元素被删除了:
_.dropRight([1, 2, 3])
// => [1, 2]
_.dropRight([1, 2, 3], 2);
// => [1]