Rumah  >  Artikel  >  hujung hadapan web  >  javascript数组怎么删除项(元素)

javascript数组怎么删除项(元素)

青灯夜游
青灯夜游asal
2021-07-02 17:30:522691semak imbas

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

javascript数组怎么删除项(元素)

本教程操作环境: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学习教程

Atas ialah kandungan terperinci javascript数组怎么删除项(元素). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn