相关疑难解决方法(0)

Array(len)初始值设定项中的未定义值

考虑:

var a = Array(3);
var b = [undefined,undefined,undefined];
Run Code Online (Sandbox Code Playgroud)

是什么原因a.mapb.map产生不同的结果?

a.map(function(){  return 0;  });  //produces -> [undefined,undefined,undefined]
b.map(function(){  return 0;  });  //produces -> [0,0,0]
Run Code Online (Sandbox Code Playgroud)

javascript arrays undefined

25
推荐指数
3
解决办法
1691
查看次数

JavaScript Map:为什么这不起作用?

我试图使用map生成一些随机数据.令我惊讶的是,我无法弄清楚为什么这段代码不起作用.

请考虑以下代码段,它按预期工作:

const empty = [undefined, undefined];
const rand = empty.map(item => Math.random());

Output: [0.4774752874308936, 0.8482276976659398]
Run Code Online (Sandbox Code Playgroud)

我试图简化一下并执行以下操作

const rand = Array(2).map(item => Math.random())

Output: [undefined × 2]
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样.显然,由Array(n)和[]生成的两个数组都是典型的数组,并且具有所有原型方法.

Array(2) instanceof Array
true

[undefined, undefined] instanceof Array
true

Array.isArray(Array(2))
true

Array.isArray([undefined, undefined])
true
Run Code Online (Sandbox Code Playgroud)

有人能指出我在哪里错了吗?

javascript arrays

17
推荐指数
1
解决办法
3462
查看次数

标签 统计

arrays ×2

javascript ×2

undefined ×1