splice删除数组元素时,正常情况下都是写做arr.splice(index,1),
意思是删除数组中下标为index的那个元素,
但是我刚刚写代码的时候脑抽,结果发现了一件有意思的事情。
我把代码写成了arr.splice(arr[index],1),
因为我的数组是数组对象
所以这种写法会导致splice默认下标index为0,索引从数组第一位开始进行操作
而我当时数组删除了两位,是因为自己本身函数的判断,第二位为零,自动删除
所以之前觉得索引值写成arr[index]时,数组会删除元素本身及以上元素的想法是错误的
只是自己写的元素过少导致的
而且当数组中元素为数字时,例如var arr=[1,2,3,4,6,7]
索引会自动根据arr[index]进行判断数值,然后以这个值为索引,查找元素
例如:arr.splice(arr[2],1)
arr[2]的值为3,故数组删除从索引值为3的元素开始
如果数值大于数组本身长度,则splice删除空值,数组不变
例如:arr.splice(arr[7],1)
数组长度小于7,所以上面操作时索引值为空,跳过此操作,故数组不变
splice()删除数组元素
最新推荐文章于 2024-06-04 21:32:59 发布