稀疏数组
本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 49 课,共 65 课。
JavaScript 中的稀疏数组是指元素之间存在空槽或间隔的数组。当你为不连续的索引赋值,或从数组中删除元素时,就会产生这些间隔。
下面是创建稀疏数组的示例:
let sparseArray = [1, , , 4, 5];
console.log(sparseArray.length); // 5
console.log(sparseArray); // [1, 空位 × 2, 4, 5]你也可以通过给超出当前长度的索引赋值来创建稀疏数组:
let arr = [1, 2, 3];
arr[10] = 10;
console.log(arr); // [1, 2, 3, 空位 × 7, 10]
console.log(arr.length); // 11空槽位和存有 undefined 的槽位并不相同,而读取这两种槽位时,arr[i] 都会得到 undefined。要区分它们,可以用 in 运算符检查索引是否存在:
let sparseArray = [1, , , 4, 5];
console.log(1 in sparseArray); // false,位置 1 是空的
console.log(0 in sparseArray); // true,位置 0 存放着 1挑战
简单创建一个名为 analyzeSparseArray 的函数,它接受一个稀疏数组作为参数。该函数应返回一个包含以下属性的对象:
length:数组的总长度elementCount:数组中非空元素的数量largestGap:数组中最大间隔(连续空槽位)的大小
亲手试试
function analyzeSparseArray(arr) {
// 在这里编写你的代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: JavaScript 在线编译器