定义一个数组arr:
var arr = new Array(3);
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
console.log(arr.length); //输出3
- 删除数组中第一项
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
var fObject = arr.shift();
console.log(fObject); //输出'a';
console.log(arr); //输出['b','c']
- 删除数组中最后一项
pop() 方法用于删除并返回数组的最后一个元素。
var lObject = arr.pop();
console.log(lObject); //输出'c';
console.log(arr); //输出['a','b']
- 删除数组中任意项
1. splice(index,howmany,item1,…,itemX) 方法向/从数组中添加/删除项目,然后返回被删除的项目。
- 参数设置:
- index :必需。从数组第零项开始,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- howmany:必需。要删除的项目数量,为0时不删除项目。
- item1, …, itemX :可选。向数组添加的新项目。
- 返回值:
- array,包含被删除项目的新数组。
首先获取需要删除的一项的数组中的索引:
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
使用splice()方法删除这一项:
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
arr.splice(0,2,'aa','bb');//返回 ['aa','bb','c'];
arr.remove('bb');//返回['aa', 'c']
注:slice(start, end) 方法与之不同,slice()可从已有的数组中返回选定的元素,并不会修改数组,而是返回一个子数组。
2. delete方法 删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变。
语法:delete object.property ;delete object[‘property’]
delete arr[2]; //返回['a', ,'c']
3. slice(start, end)方法
Array.prototype.remove = function(from, to) {
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this, rest);
};
来源:CSDN
作者:wode路
链接:https://blog.csdn.net/weixin_44249754/article/details/104625763