javascript如何删除指定数组元素


当前第2页 返回上一页

第二种我们用循环中的filter方法。

1

2

3

4

5

var colors = ["red", "blue", "grey"];

 

colors = colors.filter(function(item) {    return item != "red"});

  

console.log(colors); // ["blue", "grey"]

代码很简单,找出元素不是red的项数返回给colors(其实是得到了一个新的数组,并不是在原数组上进行删除操作),一定程度上也算是达到了删除特定元素的目的。

prototype原型方法

可以通过在Array的原型上添加方法来达到删除的目的。

1

2

3

4

5

6

7

8

9

10

11

Array.prototype.remove = function(dx) {  if(isNaN(dx) || dx > this.length){

    return false;

  }

 

  for(var i = 0, n = 0; i < this.length; i++) {

    if(this[i] != this[dx]) {      this[n++] = this[i];

    }

  }  this.length -= 1;

};var colors = ["red", "blue", "grey"];

colors.remove(1);

console.log(colors); // ["red", "grey"]

这种方法其实就是自己实现一个删除的逻辑,然后把删除方法添加给了Array的原型对象,则在此环境中的所有Array对象都可以使用该方法。尽管可以这么做,但是不推荐在产品化的程序中修改原生对象的原型。道理很简单,如果只是某个实现中缺少某个方法,就在原生对象的原型中添加这个方法,那么当在另一个支持该方法的实现中运行代码时,就可能导致命名冲突。而且这样做可能会意外地导致原生方法被重写。

【推荐学习:javascript高级教程

以上就是javascript如何删除指定数组元素的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript中创建对象的方法有哪几种

javascript怎么注释代码

html5 canvas实现中奖转盘的实例代码

javascript如何设置焦点移除

javascript如何禁止文字的复制

javascript中bind是什么意思

javascript自定义函数的写法是什么

javascript的mvc框架有哪些

8个编写优秀js代码的技巧和窍门(分享)

深入浅析 promise 比 settimeout() 快的原因

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...