gpt4 book ai didi

javascript - 使用递归的一维数组迭代

转载 作者:行者123 更新时间:2023-12-02 08:04:43 25 4
gpt4 key购买 nike

我正在尝试使用递归遍历一个简单的数组。对于这种特定情况,我正在尝试使用递归重新创建 .map()(不使用 .map()!)。我目前只推送最后一个元素原始数组,但我想将所有内容插入数组。

function recursiveMap (arr, func) {
let newArr = [];
if (arr.length === 1){
newArr.push(func(arr));
}
else {
newArr.push(...recursiveMap(arr.slice(1),func));
}
return newArr;
}

最佳答案

您需要在当前项上使用func,并将调用该函数的结果分散到数组的其余部分:

function recursiveMap(arr, func) {
return arr.length ? [func(arr[0]), ...recursiveMap(arr.slice(1), func)] : [];
}

const arr = [1, 2, 3];

const result = recursiveMap(arr, n => n * 2);

console.log(result);

关于javascript - 使用递归的一维数组迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52763203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com