📅  最后修改于: 2023-12-03 15:41:28.713000             🧑  作者: Mango
斐波那契数列是指每个数字都是其前两个数字之和的数列,前几个数字为: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
在 JavaScript 中,我们可以使用不同的方法来获取斐波那契数的数组。在本文中,我们将介绍两种常用的方法。
递归是一种自己调用自己的方法。我们可以使用递归来获取斐波那契数的数组,如下所示:
function getFibonacciSeries(n) {
if (n === 1) {
return [0, 1];
} else {
var arr = getFibonacciSeries(n - 1);
arr.push(arr[arr.length - 1] + arr[arr.length - 2]);
return arr;
}
}
var result = getFibonacciSeries(10); // 获取前10个斐波那契数的数组
console.log(result); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
代码中,我们使用了递归来获取前 n 个斐波那契数的数组。如果 n=1,则返回 [0, 1],否则我们通过调用 getFibonacciSeries(n - 1) 递归得到前 n-1 个斐波那契数的数组,并通过 push 方法添加最后一个元素和倒数第二个元素的和到数组中,最终返回斐波那契数的数组。
在大多数情况下,循环是比递归更高效的方法。我们可以使用循环来获取斐波那契数的数组,如下所示:
function getFibonacciSeries(n) {
var arr = [0, 1];
if (n <= 2) {
return arr.slice(0, n);
} else {
for (var i = 2; i < n; i++) {
arr.push(arr[i - 1] + arr[i - 2]);
}
}
return arr;
}
var result = getFibonacciSeries(10); // 获取前10个斐波那契数的数组
console.log(result); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
代码中,我们使用了循环来获取前 n 个斐波那契数的数组。如果 n <= 2,则直接返回 [0, 1],否则我们从 i=2 开始循环到 i=n-1,每次将 arr[i-1] 和 arr[i-2] 的和添加到数组中,最终返回斐波那契数的数组。
在 JavaScript 中,我们可以使用递归或者循环来获取斐波那契数的数组。递归的实现简单,但是存在性能问题,循环比递归更高效,但需要更多的代码。根据实际情况选择合适的方法来获取斐波那契数的数组。