Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS map()方法中,为什么可以';t回调函数参数相互计算?_Javascript_Arrays_Array.prototype.map - Fatal编程技术网

Javascript 在JS map()方法中,为什么可以';t回调函数参数相互计算?

Javascript 在JS map()方法中,为什么可以';t回调函数参数相互计算?,javascript,arrays,array.prototype.map,Javascript,Arrays,Array.prototype.map,问题是我无法使用array.prototype.map()方法从数组的元素(数字)中减去数组的每个索引。我原以为减法是有效的,但事实并非如此 代码如下: const whiteSp = [ 5, 11 ]; whiteSp.map(function (ele, i) { console.log(ele, i) // 5 0, 11 1 console.log(ele - i) // 5, 10 ele = ele - i; ret

问题是我无法使用array.prototype.map()方法从数组的元素(数字)中减去数组的每个索引。我原以为减法是有效的,但事实并非如此

代码如下:

const whiteSp = [ 5, 11 ];
whiteSp.map(function (ele, i) {
        console.log(ele, i) // 5 0, 11 1
        console.log(ele - i) // 5, 10
        ele = ele - i;
         return ele;
    });
    console.log(whiteSp) // expected [ 5, 10 ], but got [ 5, 11 ]
第二个console.log表示已按值10进行了计算,但由于某些原因返回11


我也尝试了
'return ele-I'
而没有上面的行,但仍然不起作用。

您需要一个映射值的赋值

const
whiteSp=[5,11],
结果=whiteSp.map((ele,i)=>ele-i);

控制台日志(结果)Ciao,您可以尝试以下方法:

让whiteSp=[5,11];
whiteSp=whiteSp.map((ele,i)=>{returnele-i;});

console.log(whiteSp)
(ele,i)=>{return ele-i;}
==
(ele,i)=>ele-i
,如您所愿。我更喜欢使用
return
语句。它帮助我更快地理解我在
map
中所做的事情。当然,这是一个小例子,但一般来说,我在
map
函数中编写了一些更复杂的东西。