3.JavaScript中定义数组的两种主要方式

JavaScript中定义数组的两种主要方式(new Array()和[]方式

  1. new Array()

可以用像JAVA的那种写法的方式定义,如

var arr = new Array()

这样定义了一个空数组

可以填写一个数字作为构造时的参数,比如

var arr = new Array(5)

在控制台可以看见这个数组的内容是

[undefined × 5]

这是一个"稀疏数组",通过直接改变数组length属性得到的元素数量少于数组的length的数组。

这种数组可以用

for(var i=0;i<arr.length;i++){

}

这种方式遍历,无法用

for(var e in arr){

}

的方式和

arr.forEach(function(e,i){

})

的方式遍历,可能会带来一些问题,应该避免稀疏数组的创建,所以不要使用

new Array(5)

这种创建方式,也不要直接改变数组的length属性。

也可以用

var arr = new Array(1,2,3)

这种方式定义一个正常的数组

  1. []

构造器的方式定义数组了解了解就行,平时应该避免使用。

尽量使用中括号的方式定义数组,如

var arr=[1,2,3]

用这种方式可以得到一个正常的一个单位的数组,而不是所谓的“稀疏数组”

var arr=[1]

应该用哪种方式

多于一个初始元素时,2种方式定义的效果完全一样。

中括号方式定义有以下好处

程序更短,更易读;

初始元素为1个时也能正常定义。

所以大部分情况下应该使用中括号方式定义数组。

new Array(length)这种方式在某些特殊场合可以用到,比如可以很简洁的用一行得到一个0~99的范围的数组:

new Array(100).fill().map((e,i)=>i)

如果不用new Array(length)这种方式,程序就会更长一些。

var arr = [];

for(var i=0;i<100;i++){

arr.push(i);

}

长一些倒没什么,但更关键的是这样它就不是表达式了,而变成语句,在某些需要用表达式的场合会更不方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值