javascript怎么移除数组元素


当前第2页 返回上一页

所谓的迭代方法就是用循环迭代数组元素发现符合要删除的项则删除,用的最多的地方可能是数组中的元素为对象的时候,根据对象的属性例如ID等等来删除数组元素。下面介绍两种方法:

第一种用最常见的ForEach循环来对比元素找到之后将其删除:

1

2

3

4

5

6

7

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

 

colors.forEach(function(item, index, arr) {

    if(item == "red") {

        arr.splice(index, 1);

    }

});

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

1

2

3

4

5

6

7

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

 

colors = colors.filter(function(item) {

    return item != "red"});

 

console.log(colors);   

//["blue", "grey"]

代码很简单,找出元素不是”red”的项数返回给colors(其实是得到了一个新的数组),从而达到删除的作用。

七、原型方法

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

1

2

3

4

5

6

7

8

9

10

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的Array中常用的删除元素的方法,欢迎大家来补充。

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

返回前面的内容

相关阅读 >>

javascript中怎么求数组的平均值

js怎么替换字符串?

javascript字符串中指定字符怎么删除

浅谈javascript中检查数组是否包含指定值的几种方法

js判断是否为数组的6种方式

js怎么格式化日期

javascript操作dom的方法有哪些?

原生javascript是什么意思

jquery框架是什么?

详解使用 javascript 解析 url的方法

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




打赏

取消

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

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

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

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

评论

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