Javascript数组初始化

来源:互联网 发布:godaddy cool域名 编辑:程序博客网 时间:2024/05/18 20:47

初探Javascript数组初始化

arr = new Array(5)>> [undefined × 5]# 创建了数组, length = 5, 没有包含真正数组元素arr[365] = undefined;arr.length>> 366# 此时多了 365:undefined
Array.apply(null, {length:5}).map(Function.call, Number)>> [0, 1, 2, 3, 4]# 细节a = Array.apply(null, {length:5})>> [undefined, undefined, undefined, undefined, undefined]a.map(Function.call, Number)>> [0, 1, 2, 3, 4]# 对于第一个元素来说:# Function.call.call(Number, undefined, 0)# or# Function.call.apply(Number, [undefined, 0])# Number是上下文, 简单的理解为# Number.call(undefined, 0)# >> 0# 类似的:# Function.apply.call(Math.max, undefined, [1, 2])# Array.call.call.call(Math.max, undefined, 1, 2)
# ES6, 可以从类数组获取元素,形如 {length: 10}Array.from(Array(10).keys())>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

参考
- http://stackoverflow.com/questions/3746725/create-a-javascript-array-containing-1-n
- http://www.jstips.co/en/javascript/create-range-0…n-easily-using-one-line/

0 0
原创粉丝点击