数组删除
(1)数组.pop()
移除最后一个元素,并返回移除该元素值
参数:无
返回值: 被删除的那个元素 原有的数组改变
let ary=[10,20,30]
var res = ary.pop();
console.log(res,ary) // res=>30 ary=>[10,20]
基于原生JS让数组长度删除一位,默认删除最后一位
ary.length=ary.length-1
console.log(ary) // ary=>[10]
(2)数组.shift()
删除最前一个元素并返回该元素值,数组中元素自动前移
参数:无
返回值: 被删除的那个元素 原有的数组改变
把数组的第一个元素从其中删除,并返回第一个元素的值。
let ary=[10,20,30]
var res=ary.shift()
console.log(res,ary) // res=>10 ary=>[20,30]
基于原生JS的delete,把数组当做普通的对象,确实可以删除某一项的内容,但不会影响数组本身的结构特点(length长度不会跟着修改),真实项目中不使用这种方式删除
delete ary[0]
console.log(res,ary) // ary=>{1:30,length:1}
(3)数组.splice(n,m)
删除从指定位置n(索引)开始的指定数量m(个)的元素,数组形式返回所移除的元素
参数:n指定位置 m删除的元素(m不写就一直删到末尾)
返回值: 被删除的那个元素,以新数组输出 原有的数组改变
let ary=[10,20,30,28,73,63,52,87,83]
var res = ary.splice(3, 4); //从索引n(包含n)开始删除m个元素,把删除的元素当做一个新的数组返回,原有的数组改变。
console.log(res,ary) // res=>[28,73,63,52] ary=>[10,20,30,87,83]
var res = ary.splice(0, ary.length+1); //数组清空
console.log(res,ary) // res=>[10,20,30,28,73,63,52,87,83] ary=>[]
var res = ary.splice(ary.length-1); //删除最后一项
console.log(res,ary) // res=>[83] ary=>[10,20,30,28,73,63,52,87]
var res = ary.splice(0,1); //删除第一项
console.log(res,ary) // res=>[10] ary=>[20,30,28,73,63,52,87,83]
(4)数组.splice(n,m,x)
将指定位置的项替换成新的
let ary=[10,20,30,40,50]
var res = ary.splice(1, 2, "zhf"); //从索引n开始,删除m个元素,用x替换删除的那个位置,把删除的元素当做一个新的数组返回,原有的数组改变
console.log(res,ary) // res=>[20,30] ary=>[10,"zhf",40,50]
(5)数组.splice(index,howmany,item1,.....,itemX)
参数:
index:必填,数组删除或插入的位置。使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX:可选。向数组添加的新项目。
返回值:新数组,要是删除的话,也会包括被删除的元素
要是删除的话,splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组
请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记。有不正确之处请各位高手多多指点,一起学习进步。【VX:czlingyun 暗号:CSDN】
标签:30,连载,删除,ary,元素,JS,数组,res,第二章 From: https://blog.csdn.net/bzmx1984/article/details/139812086