这是预期的行为吗?我希望在这里返回一个空数组。
JavaScript
let arr = [1];
console.log(arr.splice(0, 1))
控制台
1
这是预期的行为吗?我希望在这里返回一个空数组。
JavaScript
let arr = [1];
console.log(arr.splice(0, 1))
控制台
1
arr
将为空。
例如:
let arr = [1];
arr.splice(0, 1);
console.log(arr);
splice() 方法通过删除现有元素和/或添加新元素来更改数组的内容。
参考文献
该方法的语法如下:
array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)
0
作为起始位置,将1
作为deleteCount
。这意味着您希望从第0个索引开始删除1个元素(而不是在数组中的1个值)。[1]
,即一个具有值1
的数组,这是您刚刚删除的项目。在尝试实现小程序中的某个函数时,我遇到了这个问题。解决方法是在使用函数splice
之前先检查数组的长度。例如:
if(imgList.length > 1){
imgList.splice(index, 1);
else{
imgList = []
}
你可以尝试这样解决它。
splice()
方法返回从原始数组中被“剪切/删除”的值。尝试使用console.log(arr)
,你会发现它是空的。 - kind user