JavaScript删除列表元素的几种方法

JavaScript删除列表元素的几种方法参考文章:https://www.cnblogs.com/yun1108/p/9505294.html老哥总结的真的很好,大家可以去给老哥点赞!这是我根据其文章整理的笔记,在这里与大家分享一下~functionprint(index,arr){console.log(“-“+index+”-“);console.log(arr);}①length通过减小列表的长度length强制删除最后一个元素 varcolors=

大家好,欢迎来到IT知识分享网。

参考文章:https://www.cnblogs.com/yun1108/p/9505294.html
老哥总结的真的很好,大家可以去给老哥点赞!
这是我根据其文章整理的笔记,在这里与大家分享一下~

    function print(index,arr) { 
   
        console.log("---" + index + "---");
        console.log(arr);
    }

①length

通过减小列表的长度length强制删除最后一个元素

	var colors = ["red","blue","green"];
    //1--减小length强制删除最后一个元素
    colors.length -= 1;
    print(1,colors);

在这里插入图片描述

②delete关键词

根据下标删除,改位置会被undefine替代,列表长度不变

    //2--delete关键词
    colors = ["red","blue","green"];
    delete colors[0];
    print(2,colors);
    console.log(colors[0]);

在这里插入图片描述

③栈方法

pop()方法默认移除并返回列表最后一项

	//3--栈方法
    colors = ["red","blue","green"];
    var item = colors.pop();
    print(3,colors);
    console.log(item);

在这里插入图片描述

④队列方法

shift()方法默认移除并返回列表的第一项

    //4--队列方法
    colors = ["red","blue","green"];
    var item = colors.shift();
    print(4,colors);
    console.log(item);

在这里插入图片描述

⑤splice(a,b)方法

向splice()传递两个参数,第一个是开始的下标a,第二个为个数b,则会移除并返回列表第a个元素开始往后的b个元素,返回值为列表

	//5-splice()方法
    colors = ["red","blue","green"];
    var item = colors.splice(0,1);
    print(5,colors);
    console.log(item);

在这里插入图片描述

⑥通过迭代判断删除

通过forEach方法,删除符合条件的元素

	//6--迭代方法
    colors = ["red","blue","green"];
    colors.forEach(function (item,index,arr){ 
   
        if (item == "green") { 
   
            arr.splice(index,1);
        }
    });
    print(6,colors);

在这里插入图片描述

通过filter方法,返回符合条件的元素列表

    colors = ["red","blue","green"];
    colors = colors.filter(function (item) { 
   
        return item != "green";
    });
    print(6,colors);

在这里插入图片描述

⑦通过给原型Array添加方法来删除

通过给原型Array添加用于删除的方法来删除元素,好处在于可以复用

用于删除的方法可以很多,此处展示的为其中一种

    //7--原型方法
    Array.prototype.remove = function (index) { 
   
        if (isNaN(index) || index > this.length) { 
   
            return false;
        }else { 
   
            for (i = 0, n = 0; i < this.length; i++) { 
   
                if (this[i] != this[index]) { 
   
                    this[n++] = this[i];
                }
            }
            this.length -= 1;
        }
    };
    colors = ["red","blue","green"];
    colors.remove(1);
    print(7,colors);

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10834.html

(0)
上一篇 2024-03-28 15:33
下一篇 2024-03-28 17:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信