js实现序列
实现序列的基本方法
在JavaScript中,可以通过多种方式实现序列。序列通常指有序的元素集合,可以是数字、字符串或其他数据类型。常见的实现方式包括数组、生成器函数和自定义迭代器。
使用数组创建序列
数组是最简单的序列实现方式,直接通过字面量或构造函数创建:
const numberSequence = [1, 2, 3, 4, 5];
const stringSequence = ['a', 'b', 'c'];
动态生成序列可使用循环:

const sequence = [];
for (let i = 0; i < 10; i++) {
sequence.push(i * 2); // 生成0到18的偶数序列
}
使用生成器函数生成无限序列
生成器函数(Generator)可以按需生成序列值,适合处理无限序列或大数据量:
function* infiniteSequence() {
let n = 0;
while (true) {
yield n++;
}
}
const generator = infiniteSequence();
console.log(generator.next().value); // 0
console.log(generator.next().value); // 1
自定义迭代器实现序列
通过实现[Symbol.iterator]方法创建可迭代对象:

const range = {
from: 1,
to: 5,
[Symbol.iterator]() {
let current = this.from;
return {
next: () => ({
value: current <= this.to ? current++ : undefined,
done: current > this.to
})
};
}
};
for (let num of range) {
console.log(num); // 依次输出1,2,3,4,5
}
序列操作的实用函数
JavaScript数组提供丰富的序列操作方法:
map():转换序列元素[1, 2, 3].map(x => x * 2); // [2, 4, 6]filter():筛选序列元素[1, 2, 3, 4].filter(x => x % 2 === 0); // [2, 4]reduce():累积计算[1, 2, 3].reduce((sum, x) => sum + x, 0); // 6
使用第三方库处理复杂序列
对于复杂序列操作,可考虑使用Lodash或Ramda等工具库:
import _ from 'lodash';
_.range(5); // [0, 1, 2, 3, 4]
_.range(1, 6, 2); // [1, 3, 5]






