为什么 Array.map 似乎不适用于未定义值的数组
Why does Array.map not seem to works on an Array of undefined values
这纯粹是使用 JavaScript 的灵活性练习。我正在尝试使用Javascript创建没有循环的整数数组,并以这种特定方式:
var a = Array(100).map(function(x, y) { return y + 1 });
我期望和整数数组 1 - 100。相反,它仍然未定义* 100?我什至无法从地图功能中控制台.log?
我从这篇很棒的帖子中使用 JavaScript 数组的序列中了解到,下面确实使用 Array.apply 实现了目标,我只是明白为什么需要它?
var a = Array.apply(0, Array(100)).map(function(x,y) { return y + 1 }); a
感谢您的任何见解:)
它主要用于内存空间优化目的,稀疏数组占用的内存空间较少。
它有点"标志"与未定义,以便您可以在不爆炸内存空间的情况下执行此类操作:
var a = [];
a[2014] = 0;
console.log(a.length); // 2015
console.log(a); // [undefined x 2014, 0]
相关文章:
- JSON解析未从数组中获取值
- Join架构验证:Join.object定义数组中的有效键
- 值未与数组对象绑定
- 在定义数组后填充数组
- 带有自定义数组的迷你图
- 函数中的Javascript未定义数组
- Meteor会话变量未存储数组
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- Javascript-自定义数组不起作用
- 为什么不能映射“未定义”数组
- JSON 多维数组未显示(“数组未定义”)
- 确定猫鼬中空数组和未定义数组之间的区别
- 未定义数组值
- 未捕获的类型错误:无法读取属性'长度'的未定义(数组)
- forEach()创建未定义数组(Javascript)
- Javascript console.log未读取数组未定义
- Jquery回调未定义数组
- Javascript拆分未定义数组
- 对array构造函数创建的未定义数组执行forEach操作
- 禁止未定义数组属性的javascript错误