gpt4 book ai didi

javascript - array.map() 的意外结果

转载 作者:行者123 更新时间:2023-12-02 23:30:57 24 4
gpt4 key购买 nike

非常简单的问题,但我不明白为什么下面的代码会在第一个索引中产生 NaN?

    var arr = [1, 2, 3, 4];
var result = arr.map(function(x) {
if(arr[x] >= 2) {
return arr[x] + 10;
} else {
return arr[x] - 10;
}
});

console.log(result); // [-9, 12, 13, NaN]

最佳答案

Array map 接受参数为 (item,index)。在您的情况下, x 代表数组元素,即 1,2,3,4 等。因此 arr[1] 将是第一个为 1 的元素,但 arr[4] 将是未定义的,因为 fifth 索引处不存在元素。您可以仅将 arr[x] 替换为 x 或替换为 arr[index]

var arr = [1, 2, 3, 4];
var result = arr.map(function(x, index) {
console.log('Array element', x)
if (arr[index] >= 2) {
return arr[index] + 10;
} else {
return arr[index] - 10;
}
});

console.log(result);

关于javascript - array.map() 的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56506224/

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