在数组中查找已删除的元素

Find deleted element in Array

本文关键字:删除 元素 查找 数组      更新时间:2023-09-26

我需要在Array 中找到第一个可用的已删除插槽

这项工作:

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)) ???

循环遍历数组,查找不存在的键。

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等,因为它们跳过了丢失的元素。