欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JS数组学习之如何根据数组下标删除任意元素

程序员文章站 2022-03-07 12:05:12
...
在之前的文章《JS数组学习之怎么去除头部或尾部元素》中,我们介绍了删除数组开头或者末尾元素的方法。下面我们继续JavaScript数组的学习和练习,来看看如何根据数组下标删除任意元素,感兴趣的朋友可以学习了解一下~

我们都知道数组中的每个元素都有一个序号,这个序号从0开始,被称为下标(Index)。根据这个数组下标,我们可以使用 数组名[下标] 的形式来访问指定下标的元素。

访问到指定元素后,就可以利用 delete运算符 来删除该元素,但数组长度不会发生改变;删除后的该元素会变为空位元素,

var arr=new Array("香蕉","苹果","梨子","橙子","橘子","榴莲");
console.log(arr);

delete arr[1];  //删除下标为1的元素(第二个元素)
console.log(arr);

JS数组学习之如何根据数组下标删除任意元素

空位元素可以读写,length 属性不排斥空位,空元素位返回值为 undefined

console.log(arr[1]);

JS数组学习之如何根据数组下标删除任意元素

说明:空元素与元素的值为 undefined 是两个不同的概念,即使空元素的返回值也是 undefined。JavaScript 在初始化数组时,只有真正存储有值得元素才可以分配内存。

利用delete运算符一次只能删除一个数组元素,且因为不改变数组长度,我们就无法通过length属性来观察这个数组的变化了。那么如果想要在指定下标位置删除一个或多个元素,且是真正的删除这些元素,数组长度要有改变,这要怎么做呢?

可以使用 splice() 方法。之前就说过了splice() 是一个强大的方法,我们已经了解了怎么使用它来插入元素,这次来了解一下怎么使用splice()来在指定下标位置删除一个或多个元素。

删除元素的语法:

array.splice(index,howmany)
  • 第1个参数 index 可以指定起始下标位置(即开始删除元素的位置);

  • 第2个参数 howmany 指定应该删除的元素数目(即需要删除的一个或多个元素)。

我们通过下面的例子来具体看看:

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

arr.splice(1,2);
console.log(arr);

可以看出:使用arr.splice(1,2)从下标1的位置(数组第2个元素)开始删除2个元素,也就是删除了arr[1]arr[2],因此输出结果为:

JS数组学习之如何根据数组下标删除任意元素

利用splice() 方法我们也可以实现在数组开头和末尾删除元素的操作:

  • 如果想要在数组开头删除元素,就设置该方法第1个参数index的值为0即可

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

arr.splice(0,2);
console.log(arr);

JS数组学习之如何根据数组下标删除任意元素

  • 如果想要在数组末尾删除元素,就设置该方法第1个参数index的值为负数,那么就会按绝对值从数组右侧开始向左侧定位;且第2个参数 howmany的值要 等于 index的值。

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

//从倒数第二个元素开始,截取两个元素
arr.splice(-2,2);
console.log(arr);

JS数组学习之如何根据数组下标删除任意元素

好了,就说到这里了,有需要的可以看:javascript高级教程

以上就是JS数组学习之如何根据数组下标删除任意元素的详细内容,更多请关注其它相关文章!