gpt4 book ai didi

javascript - 如何在 Javascript 中使用在参数中创建的函数?

转载 作者:行者123 更新时间:2023-12-03 04:11:32 24 4
gpt4 key购买 nike

我正在尝试将此 deepMap([4,5, [3,4,[2]]], x => x + 5) 传递到此函数中:

const deepMap = (arr, fn) => {
return arr.reduce((first, second) => first.concat(Array.isArray(second) ? [deepMap(second)] : fn), []);
}

以前它的工作原理是这样的:

const deepMap = (arr, fn) => {
return arr.reduce((first, second) => first.concat(Array.isArray(second) ? [deepMap(second)] : second + 5), []);
}

但这不允许我在第二个参数中使用该函数。我知道它需要像第二个示例一样工作,但我能想到改变它的唯一方法就像第一个示例一样。我已经通过实验尝试了多种变体,但我不断收到错误或错误的答案。

最佳答案

您应该放置函数的返回值而不是函数本身。像这样:

const deepMap = (arr, fn) => {
return arr.reduce((first, second) => first.concat(Array.isArray(second) ? [deepMap(second, fn)] : fn(second)), []);
}

关于javascript - 如何在 Javascript 中使用在参数中创建的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316084/

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