Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 为什么`新数组(5).map((x,y)=>;y*2)`没有';不行?而`新数组(5).fill(1).map((x,y)=>;y*2)`工作吗?_Javascript - Fatal编程技术网

Javascript 为什么`新数组(5).map((x,y)=>;y*2)`没有';不行?而`新数组(5).fill(1).map((x,y)=>;y*2)`工作吗?

Javascript 为什么`新数组(5).map((x,y)=>;y*2)`没有';不行?而`新数组(5).fill(1).map((x,y)=>;y*2)`工作吗?,javascript,Javascript,我试图创建一个数组,它是[1,2,3,…,n],所以我使用了codenewarray(10).map((value,index)=>index+1),但是我得到了[empty×5] 同时,新数组(10).填充(1).映射((值,索引)=>index+1),为什么 Array.prototype.map()是如何工作的 我的代码: /[空×10] 新数组(10).map((值,索引)=>index+1) // [1,2,...,10] 新数组(10).fill(1).map((值,索引)=>ind

我试图创建一个数组,它是[1,2,3,…,n],所以我使用了code
newarray(10).map((value,index)=>index+1)
,但是我得到了
[empty×5]

同时,
新数组(10).填充(1).映射((值,索引)=>index+1)
,为什么

Array.prototype.map()是如何工作的

我的代码:

/[空×10]
新数组(10).map((值,索引)=>index+1)
// [1,2,...,10]
新数组(10).fill(1).map((值,索引)=>index+1)
根据:

map按顺序为数组中的每个元素调用一次提供的回调函数,并根据结果构造一个新数组回调仅对具有赋值(包括未定义)的数组索引调用对于数组中缺少的元素(即,从未设置、已删除或从未赋值的索引),不会调用它。


在第一种情况下,您只是创建一个特定长度的数组,没有设置任何值,因此它不会调用map回调。在第二种方法中,您使用
Array#fill
方法将所有值设置为
1
,因此它将调用回调,因为该值已分配给所有索引


可以将方法与映射回调一起用于生成数组

const arr=Array.from({length:10},(u,i)=>i+1)
控制台日志(arr)
根据:

map按顺序为数组中的每个元素调用一次提供的回调函数,并根据结果构造一个新数组回调仅对具有赋值(包括未定义)的数组索引调用对于数组中缺少的元素(即,从未设置、已删除或从未赋值的索引),不会调用它。


在第一种情况下,您只是创建一个特定长度的数组,没有设置任何值,因此它不会调用map回调。在第二种方法中,您使用
Array#fill
方法将所有值设置为
1
,因此它将调用回调,因为该值已分配给所有索引


可以将方法与映射回调一起用于生成数组

const arr=Array.from({length:10},(u,i)=>i+1)

console.log(arr)
map仅在分配的索引上运行您可以使用以下内容:
[…数组(10)].map((u,i)=>i+1)映射仅在指定的索引上运行您可以使用此:
[…数组(10)].map((u,i)=>i+1)