js实现数列
生成数列的方法
使用循环生成数列
通过循环可以生成指定范围内的数列。例如生成1到10的数列:
let sequence = [];
for (let i = 1; i <= 10; i++) {
sequence.push(i);
}
console.log(sequence); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
使用Array.from生成数列
Array.from方法可以快速生成数列:

const sequence = Array.from({length: 10}, (_, i) => i + 1);
console.log(sequence); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
生成等差数列
可以通过指定起始值、步长和长度来生成等差数列:
function arithmeticSequence(start, step, length) {
return Array.from({length}, (_, i) => start + i * step);
}
console.log(arithmeticSequence(5, 3, 5)); // [5, 8, 11, 14, 17]
生成斐波那契数列
递归方式生成斐波那契数列:

function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
const fibSequence = Array.from({length: 10}, (_, i) => fibonacci(i));
console.log(fibSequence); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
使用生成器函数
生成器函数可以创建无限数列:
function* numberGenerator(start = 0, step = 1) {
let current = start;
while(true) {
yield current;
current += step;
}
}
const gen = numberGenerator(1, 2);
console.log(gen.next().value); // 1
console.log(gen.next().value); // 3
console.log(gen.next().value); // 5
使用递归生成数列
递归方法生成特定规律的数列:
function generateSequence(n, current = []) {
if (n === 0) return current;
current.push(n);
return generateSequence(n - 1, current);
}
console.log(generateSequence(5)); // [5, 4, 3, 2, 1]






