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