gpt4 book ai didi

javascript - .map 返回数组中的字符串而不是数字数组

转载 作者:行者123 更新时间:2023-11-28 14:20:20 25 4
gpt4 key购买 nike

使用我发现的一些代码,结果对我来说没有意义。

我不明白为什么 REPL 认为该数组是一个长字符串值。我没有做任何事情来表明这是一个字符串,我想知道为什么控制台给出以下结果。

F = (...x) => x.map(v => x+1)

//ACTUAL
F([1,2,3]) //["1,2,31"]

//EXPECTED
F([1,2,3]) //[2,3,4]

var F =(...x) => x.map(v => x+1)  
var result = F([1,2,3]);
console.log(result);

最佳答案

由于您正在使用Rest parameter,因此您将数组作为参数传递对于函数参数,x 的值将变为 [[1,2,3]]。现在,当您使用 map 时,在第一次迭代时 v 将是 [1,2,3][1,2,3] + 1 会导致字符串连接,因为 [1,2,3] 不是数字,而 [1,2,3] 转换为字符串时,它会产生一个字符串逗号分隔值。

因此,要么传递多个参数,要么使用一个简单的参数。

喜欢:

function F(x){ return  x.map(v => x+1) }

或调用如下函数:

F(1, 2, 3)
// or
F(...[1, 2, 3])

关于javascript - .map 返回数组中的字符串而不是数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55420643/

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