javascript删除数组元素的方法


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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对象都可以使用该方法。尽管可以这么做,但是不推荐在产品化的程序中修改原生对象的原型。道理很简单,如果只是某个实现中缺少某个方法,就在原生对象的原型中添加这个方法,那么当在另一个支持该方法的实现中运行代码时,就可能导致命名冲突。而且这样做可能会意外地导致原生方法被重写。

shift()队列方法

JavaScript中的Array对象提供了一个shift()队列方法用于弹出并返回数组中的第一项,某种程度上也可以当做删除用。

队列数据结构的访问规则是FIFO(先进先出),队列在列表的末端添加项,从列表的前端移除项,使用shift()方法,它能够移除数组中的第一个项并返回该项,并且数组的长度减1。

1

2

3

4

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

var color = colors.shift();

console.log(color); // "red"

console.log(colors.length); // 2

可以看出,在调用shift()方法时,数组返回第一项,即”red”,数组的元素也仅剩两项。

相关学习推荐:javascript(视频)

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

返回前面的内容

相关阅读 >>

javascript中访问器的优先级

javascript最后怎么表示

javascript如何定义字符串

javascript怎么实现验证码倒计时

javascript预编译做了啥

javascript中取余怎么算

javascript异步编程的4种方法

详解javascript对象的数据属性与访问器属性

javascript是软件么

javascript诞生于哪一年

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




打赏

取消

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

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

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

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

评论

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