导航
arr.push(item1, item2, ..., itemX)
var arr = [1, 2, 3];
arr.push(1);
var result = arr.push(1, 2, 3);
console.log(arr, result);
arr.unshift(item1, item2, ..., itemX)
var arr = [1, 2, 3];
arr.unshift(1);
var result = arr.unshift(2, 3);
console.log(arr, result);
var arr = [1, 2, 3];
Array.prototype.selfPush = function() {
var args = arguments;
for (var i = 0; i < args.length; i++) {
this[this.length] = args[i];
}
return this.length;
}
var result = arr.selfPush(4, 5, 6);
console.log(arr, result);
arr.pop()
var arr = [1, 2, 3];
var res = arr.pop();
console.log(arr, res);
arr.shift()
var arr = [1, 2, 3];
var res = arr.shift();
console.log(arr, res);
arr.reverse()
var arr = [1, 2, 3];
let res = arr.reverse(); // [ 3, 2, 1 ]
res.splice(3, 0, 0);
console.log(arr, res); // [ 3, 2, 1, 0 ] [ 3, 2, 1, 0 ]
返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
var res = arr.splice(1, 2); // 从下标 1 这个位置开始,删除两个元素
console.log({
res,
arr
});
var arr = ['a', 'b'];
var res = arr.splice(2, 0, 'c', 'd');
// 在下标 2 这个元素开始,删除 0 个元素,再从下标 2 开始新增两个元素 'c', 'd'
console.log({
res,
arr
});