Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript-变量作为数组?_Javascript_Arrays_Recursion - Fatal编程技术网

javascript-变量作为数组?

javascript-变量作为数组?,javascript,arrays,recursion,Javascript,Arrays,Recursion,JavaScript如何将变量“存储”为数组?为什么s变量不会在这行中被覆盖 变量编号=promptfibonacci var fibo=函数n{ 如果n==1{ 返回[0,1]; }否则{ var s=菲本-1; s、 推力[s.长度-1]+s[s.长度-2]; 返回s; } } console.logfibonumber; s、 推力[s.长度-1]+s[s.长度-2] 仅将写入推送到数组左侧 同一行上的其他操作仅从右侧读取 我建议您先从基础开始,然后再从递归函数开始。Push不会覆盖数组

JavaScript如何将变量“存储”为数组?为什么s变量不会在这行中被覆盖

变量编号=promptfibonacci var fibo=函数n{ 如果n==1{ 返回[0,1]; }否则{ var s=菲本-1; s、 推力[s.长度-1]+s[s.长度-2]; 返回s; } } console.logfibonumber; s、 推力[s.长度-1]+s[s.长度-2]

仅将写入推送到数组左侧

同一行上的其他操作仅从右侧读取


我建议您先从基础开始,然后再从递归函数开始。

Push不会覆盖数组,而只是将新项添加到数组的末尾

var s = [0, 1];

var lastItem = s[s.length - 1]; // 1
var itemBeforeLast = s[s.length - 2]; // 0
var sum = lastItem + itemBeforeLast; // 1

s.push(sum); // s is now [0, 1, 1]

请阅读,它将添加到数组中,因此s.push只是添加,而不是删除。这只是因为它更容易计算斐波那契值。检查数组行为:push向s数组追加一个值;在执行推送之前计算此值。这是一个初学者编程问题,不是理解斐波那契的问题。。。
var s = [0, 1];

var lastItem = s[s.length - 1]; // 1
var itemBeforeLast = s[s.length - 2]; // 0
var sum = lastItem + itemBeforeLast; // 1

s.push(sum); // s is now [0, 1, 1]