【发布时间】:2021-06-01 23:27:03
【问题描述】:
我正在尝试通过递归函数将值推送到数组中,但我收到错误消息“未捕获的类型错误:Array.push() 不是函数”,尽管 push() 方法是常规数组方法。问题可能出在哪里?
let someArr = ['a', 'b', 'c'];
let someNum = 3;
let fillArr = (arr, num) => x = (num != 0) ? fillArr(arr.push(num), num -1) : arr;
console.log(fillArr(someArr, someNum))
// expected output: ['a', 'b', 'c', 3, 2, 1];
// actual output: Uncaught TypeError: arr.push is not a function
【问题讨论】:
-
使用
concat而不是push -
Array.push返回一个 int,您在递归调用中将该 int 作为arr的参数传递。
标签: javascript arrays function recursion