delete删除方法
- 对象属性删除
function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete obj.name; console.log(obj.name); //undefined
- 变量删除
var name = 'lily';
delete name;
console.log(name); //lily
直接使用delete删除不了变量
- 删除不了原型链中的变量
fun.prototype.age = 18;
delete obj.age;
console.log(obj.age) //18
- 删除数组元素
var textArr=['a','b','c']; delete textArr[1]//['a','undefined','c']
splice方法
- splice用法
splice(index,len,[item])
三个参数,可以用来替换、删除、添加数组内某一个值或多个值
index:数组开始下标
len:替换/删除的长度
item:替换的值,删除操作的话item为空 - 删除用法
- 删除固定长度
var arr=['a','b','c'];
arr.splice(1,1) //['a','b']
- 删除起始直到末尾
var arr=['a','b','c'];
arr.splice(1); //['c']
- 替换用法
item为替换的值
var arr=['a','b','c'];
arr.slice(1,2,'ttt'); //['a','ttt']
- 添加用法
item为添加的值
var arr=['a','b','c'];
arr.slice(1,0,'ttt'); //['a','ttt','b','c']
表示在1处添加一项
原型链方法
首先给js数组定义一个函数,用于查找指定元素在数组中的位置
Array.prototype.indexOf = function(val){
for(var i = 0; i < this.length; i++) {
if (this[i] ==val) return i;
}
return -1;
};
Array.prototype.remove = function(val){
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
var arrayText=['asc','ax','ab','ad'];
arrayText.remove('ab');
利用此方法,自己定义找到索引和删除元素的方法,可以删除指定元素