Menu
CoddyTech

稀疏数组

本课属于 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
challenge icon

挑战

简单

创建一个名为 analyzeSparseArray 的函数,它接受一个稀疏数组作为参数。该函数应返回一个包含以下属性的对象:

  1. length:数组的总长度
  2. elementCount:数组中非空元素的数量
  3. largestGap:数组中最大间隔(连续空槽位)的大小

亲手试试

function analyzeSparseArray(arr) {
  // 在这里编写你的代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: JavaScript 在线编译器