前言:什么是稀疏数组?这样涩的就是 [1, 2, 3, , , , 4, 5, 6]。
let arr = [1, 2, 3, , , , 4, 5, 6];
arr.length; // 9
arr; // [1, 2, 3, empty × 3, 4, 5, 6]
构建判断方法思路:遍历数组每一项,如果有一项下标不在这个数组里,就是稀疏数组。
function isSparseArray(arr) {
if (!Array.isArray(arr)) {
return false;
}
for (let i = 0; i < arr.length; i++) {
if (!(i in arr)) {
return true;
}
}
return false;
}