js数组是js部分非常重要的知识,有时我们有这么个需求js数组删除指定元素,先定义一个函数来获取删除指定元素索引值,然后用js数组删除的方法,来删除指定元素即可,就两步不难,很简单。
1、JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,也就是索引值,代码如下:
1
2
3
4
5
6
|
Array.prototype.indexOf = function (val) {
for ( var i = 0; i < this .length; i++) {
if ( this [i] == val) return i;
}
return -1;
};
|
2、使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素,代码如下:
1
2
3
4
5
6
|
Array.prototype.remove = function (val) {
var index = this .indexOf(val);
if (index > -1) {
this .splice(index, 1);
}
};
|
这样就构造了这样一个js数组删除函数
3、案例:要删除如下myCase数组中的 'cd':
1
|
var myCase= new Array( "abk" , "djp" , "dcg" , "cd" );
|
就可以直接使用了:
4、最后
验证一下,js数组删除指定元素是否成功:
1
|
console.log(myCase[3]);
|
我们可以在控制台看到 undefined未定义,说明数组的第四项已经删除了。
5、案例完整版代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
< script type = "text/javascript" >
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 myCase=new Array("abk","djp","dcg","cd");
myCase.remove('cd');
console.log(myCase[3]); //打印出结果:undefined
</ script >
|
原文地址:http://tangjiusheng.com/js/178.html