【问题标题】:Need to use a function inside the map of a list需要在列表的映射中使用函数
【发布时间】:2022-02-17 23:31:40
【问题描述】:

我只是在学习 JavaScript,我正在尝试做以下事情。假设我有以下功能:

f(a,b) {return(a+b)}

现在我有一个列表,例如:

list = [1,2,3]

我想做的是映射该列表,在该列表中我使用预定义的值和列表的每个值调用f 上面的函数。我试过这个:

listB = list.map(x => f(x+23))

但是它返回一个NaN,如果我添加一些括号,sn-p 返回undefined

发生了什么,我该如何解决?

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    应该是f(x, 23) 而不是f(x + 23)

    function f(a,b) {return(a+b)}
    
    listA = [1,2,3]
    listB = listA.map(x => f(x,23))
    
    console.log(listB)

    【讨论】:

    • 哦,真的...我的错,甚至没有考虑过。谢谢你的朋友。
    【解决方案2】:

    您在函数调用f(x + 23) 中有错误。这是因为您的函数 f 需要 2 个参数,而您只转发一个。数字 + 未定义 -> NaN

    【讨论】:

    • 哦,没错,我错过了逗号而不是加号。谢谢!
    【解决方案3】:

    你可以改写成

    const list = [1, 2, 3, 4];
    const listb = list.map(f);
    
    function f(num) {
      return num + 23;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多