js实现序列
JavaScript 实现序列的方法
在 JavaScript 中,可以通过多种方式实现序列(如数字序列、字符串序列或其他自定义序列)。以下是几种常见的方法:
使用数组生成数字序列
通过 Array.from 或 Array 构造函数可以快速生成数字序列。

// 生成 1 到 5 的数字序列
const sequence = Array.from({ length: 5 }, (_, i) => i + 1);
console.log(sequence); // [1, 2, 3, 4, 5]
使用生成器函数实现无限序列
生成器函数可以按需生成序列值,适合处理无限序列或大数据序列。
function* numberSequence(start, step) {
let current = start;
while (true) {
yield current;
current += step;
}
}
const seq = numberSequence(0, 2);
console.log(seq.next().value); // 0
console.log(seq.next().value); // 2
console.log(seq.next().value); // 4
使用递归实现自定义序列
递归可以用于生成特定规则的序列,如斐波那契数列。

function fibonacci(n, sequence = [0, 1]) {
if (sequence.length >= n) return sequence.slice(0, n);
const nextValue = sequence[sequence.length - 1] + sequence[sequence.length - 2];
return fibonacci(n, [...sequence, nextValue]);
}
console.log(fibonacci(10)); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
使用迭代器协议实现序列
通过实现迭代器协议,可以自定义序列的生成逻辑。
const customSequence = {
[Symbol.iterator]() {
let value = 1;
return {
next() {
const done = value > 5;
const result = { value, done };
value += 1;
return result;
}
};
}
};
for (const num of customSequence) {
console.log(num); // 1, 2, 3, 4, 5
}
使用第三方库(如 Lodash)
Lodash 提供了 range 函数,可以方便地生成数字序列。
const _ = require('lodash');
const sequence = _.range(1, 6); // [1, 2, 3, 4, 5]
console.log(sequence);
总结
- 数组方法适合生成固定长度的简单序列。
- 生成器函数适合按需生成序列值,尤其是无限序列。
- 递归适合生成有特定规则的序列(如斐波那契数列)。
- 迭代器协议提供了更灵活的自定义序列实现方式。
- 第三方库(如 Lodash)可以简化序列生成的代码。






