相关疑难解决方法(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
查看次数

将map函数链接到Array构造函数

试图找到一种方法来内联创建一个数据数组给定它的大小,我试过

var n = 4;
var data = (new Array(n)).map(function(x) { return 1 });
Run Code Online (Sandbox Code Playgroud)

这给了我

[undefined, undefined, undefined, undefined]
Run Code Online (Sandbox Code Playgroud)

对此

new Array(n)
Run Code Online (Sandbox Code Playgroud)

[undefined, undefined, undefined, undefined]
Run Code Online (Sandbox Code Playgroud)

然后

[undefined, undefined, undefined, undefined].map(function(x) { return 1 });
Run Code Online (Sandbox Code Playgroud)

回报

[1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

我希望能够链接Array构造函数和map函数.

对这种行为的任何见解?

javascript arrays inline map

2
推荐指数
1
解决办法
233
查看次数

为什么我不能将新的Array(3)映射到新值的数组中?

我想了解这背后的原因:

var a = new Array(3);
var b = a.map(function () {
  return 'b';
});
Run Code Online (Sandbox Code Playgroud)

结果是

A: [ , , ]

b: [ , , ]

当我期望b导致['b', 'b', 'b'].


在进一步的调查中,我发现如果我这样做a.push('a'),我会有[, , , 'a'].

并且在地图功能之后,b将成为[, , , 'b'].

这里发生了什么?为什么这些分配的单元格的行为与初始化不同?我最初期望这样做,如果它是一个数组文字,[undefined, undefined, undefined].map(fn)

javascript arrays

2
推荐指数
1
解决办法
59
查看次数

为什么Array(100).map((_,i)=> i + 1)不返回[1,2,...,100]?

我觉得很奇怪

Array(100).map(function (_, i) { return i + 1; })
Run Code Online (Sandbox Code Playgroud)

返回[undefined, undefined, ... , undefined]而不是[1, 2, ..., 100],即映射没有发生.相反,从100个undefined作品(演示)的数组开始.

是否Array(100)比其他100个回报的东西undefined元素?

javascript arrays

0
推荐指数
1
解决办法
188
查看次数

标签 统计

arrays ×4

javascript ×4

inline ×1

map ×1

undefined ×1