1. 删除指定元素
js从数组中删除指定值的元素,注意是指定值,而不是指定位置。 比如数组[1,2,3,4,5],我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素
- 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 array = [1, 2, 3, 4, 5];
- array.remove(3);//传参
2.删除一个元素类型为object 的数组元素
- //创建对象
- var obj1 = {key:"key1",name:'name1_1'};
- var obj2 = {key:"key2",name:'name1_1'};
- var obj3 = {key:"key3",name:'name2_2'};
- var obj4 = {key:"key4",name:'name2_2'};
- //放入数组
- var array1 = [obj1,obj2,obj3,obj4];
- //delete by key
- var delKey = "key2";
- for(var i=0;i<array1.length;i++)//遍历数组
- {
- var keyTemp = array1[i].key;
- if(keyTemp===delKey)//判断
- {
- array1.splice(i,1);//删除元素
- }
- console.log(array1[i]);
- //输出
- Object {key: "key1", name: "name1_1"}
- Object {key: "key3", name: "name2_2"}
- Object {key: "key4", name: "name2_2"}
- }