我需要找到数组中第一个可用的已删除插槽
这有效:
var A = [1,2]
A[0] = undefined
console.log(A.indexOf(undefined))
但是这个怎么样?:
var A = [1,2]
delete A[0]
console.log(A)
console.log(A.indexOf(null)) ???
答案 0 :(得分:2)
遍历数组,寻找不存在的密钥。
function find_first_empty_slot(arr) {
for (var i = 0; i < arr.length; i++) {
if (!(i in arr)) { return i; }
}
return -1;
}
您无法使用indexOf
找到这些内容,因为它不会查找缺少的元素。您也可以不使用Array#forEach
等,因为它们会跳过缺少的元素。