js给根据数组元素删除数组中指定元素,不是根据索引

 1 //#region 给数组添加删除元素方法
 2 //获取元素索引 val:要删除的元素,arr1:数组
 3 function getArrIndex(val, arr1) {
 4     for (var i = 0; i < arr1.length; i++) {
 5         if (arr1[i] == val) {
 6             return i;
 7         }
 8     }
 9     return -1;
10 }
11 
12 //删除数组元素 val:要删除的元素,arr1:数组
13 function arrRemove(val, arr1) {
14     var index = getArrIndex(val, arr1);
15     if (index > -1) {
16         arr1.splice(index, 1);
17     }
18 }
19 //#endregion

方式一使用方法:

var arr = ["aa","bb","cc"];

arrRemove("bb",arr);//直接调用方法即可

-------------------------------------------------------------

方式二:直接在数组原型上添加删除方法

 1 //#region 直接在数组原型上添加删除方法
 2 //给数组原型添加获取元素索引方法
 3 Array.prototype.indexOf = function(val)
 4 {
 5     for(var i = 0; i < this.length; i++)
 6     {
 7         if(this[i] == val) return i;
 8     }
 9     return -1;
10 };
11 
12 //给数组原型添加移除元素方法
13 Array.prototype.remove = function(val)
14 {
15     var index = this.indexOf(val);
16     if(index > -1)
17     {
18         this.splice(index,1);
19     }
20 }
21 //#endregion    

方式二使用方法:

var arr = ["a","b","c"];

arr.remove("b");//这样即可

 

各位大神还有什么好的方式请告知,万分感谢

posted @ 2014-09-15 15:22  李亚杰  阅读(3231)  评论(0)    收藏  举报