资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

javascript数组删除项的方法

今天小编给大家分享一下javascript数组删除项的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

创新互联主营德安网站建设的网络公司,主营网站建设方案,重庆APP软件开发,德安h5重庆小程序开发公司搭建,德安网站营销推广欢迎德安等地区企业咨询

删除方法:1、用pop()在数组尾部删除元素;2、用shift()在数组开头删除元素;3、用delete运算符删除指定下标位置元素;4、用length属性删除尾部一个或多个元素;5、用splice()删除指定下标位置后一个或多个元素。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

方法1:使用pop() 方法在数组尾部删除元素

pop() 方法能够删除数组中最后一个元素,并返回被删除的元素。

示例:

var a = [];  //定义数组,模拟空栈
console.log(a.push(1));  //入栈,栈值为[1],length为1
console.log(a.push(2));  //入栈,栈值为[1,2],length为2
console.log(a.pop());  //出栈,栈值为[1],length为1
console.log(a.push(3,4));  //入栈,栈值为[1,3,4],length为3
console.log(a.pop());  //出栈,栈值为[1,3],length为2
console.log(a.pop());  //出栈,栈值为[1],length为1

方法2:使用shift() 方法在数组开头删除元素

shift() 方法能够删除数组第 1 个元素,并返回该元素,然后将余下所有元素前移 1 位,以填补数组头部的空缺。如果数组为空,shift() 将不进行任何操作,返回 undefined。

示例:

var a = [1,2,3,4,5];  //定义数组
for (var i in a) {  //遍历数组
    var t = a.pop();  //尾部弹出
    a.unshift(t * 10);  //头部推入,把推进的值放大10倍 
}
console.log(a);  //返回[10,20,30,40,50]

方法3:使用delete 运算符

使用 delete 运算符能删除指定下标位置的数组元素,删除后的元素为空位元素,删除数组的 length 保持不变。

var a = [1, 2, true, "a", "b"];
delete a[0];
console.log(a);

方法4:使用 length 属性

使用 length 属性可以删除尾部一个或多个元素,甚至可以清空整个数组。删除元素之后数组的 length 将会动态保持更新。

var a = [1, 2, true, "a", "b"];
a.length = 3;
console.log(a);

方法5:使用 splice() 方法

使用 splice() 方法可以删除指定下标位置后一个或多个数组元素。该方法的参数比较多,功能也很多,本节示例仅演示它如何删除数组元素。其中第 1 个参数为操作的起始下标位置,第 2 个参数指定要删除元素的个数。

var a = [1,2,3,4,5];
a.splice(1,2);
console.log(a);

在 splice(1,2,3,4,5) 方法中,第 1 个参数值 1 表示从数组 a 的第 2 个元素位置开始,删除 2 个元素,删除后数组 a 仅剩下 3 个元素。

如果给 splice() 方法传递一个参数,则该方法仅执行删除操作,参数值指定删除元素的起始下标(包括该下标元素),splice() 方法将删除后面所有元素。

var a = [1,2,3,4,5]; 
a.splice(2);
console.log(a);

以上就是“javascript数组删除项的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。


文章标题:javascript数组删除项的方法
当前地址:http://www.cdkjz.cn/article/jedipe.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220