Javascript 为什么JS-map方法返回这个结果?

Javascript 为什么JS-map方法返回这个结果?,javascript,Javascript,const x=[1,2,3,4] 函数乘法(a,b){ 返回a*b } console.log(x.map(multiply))通过索引将每个项目相互分配。第一个索引是0,这就是为什么第一项是0。1*0=0map回调函数的前两个参数是迭代的值和迭代的零索引索引 数组中第一个位置的索引为0: ['x'].map((项目,i)=>{ 控制台日志(i); });添加console.log,您将看到b是数组的索引,从0开始 语法 就你而言 (currentValue is a, index is

const x=[1,2,3,4]
函数乘法(a,b){
返回a*b
}

console.log(x.map(multiply))
通过索引将每个项目相互分配。第一个索引是0,这就是为什么第一项是0。1*0=0

map回调函数的前两个参数是迭代的值和迭代的零索引索引

数组中第一个位置的索引为0:

['x'].map((项目,i)=>{
控制台日志(i);

});添加console.log,您将看到b是数组的索引,从0开始

语法

就你而言

(currentValue is a, index is b)

const x=[1,2,3,4]
函数乘法(a,b){//更好的变量名是(item,i)
控制台日志(“a”,a,“b”,b)
返回a*b
}

console.log(x.map(multiply))
当您将函数设置为map方法时,该函数的第一个参数将是数组的值,第二个参数将是索引,每次您将值乘以它的索引时。

同样的原因是第一个位置的结果是
x[1]*1
,第二个位置是
x[2]*2
第三个位置是
x[3]*3
…第一个是数组中的当前值,值是回调函数上的索引,索引从0开始,因此得到了这个结果
(currentValue is a, index is b)