javascript定义数组主要有2种方式,new Array()和[]两种方式,下面详细介绍。
构造器
1
可以用像JAVA的那种写法的方式定义,如var arr = new Array()这样定义了一个空数组
2
可以填写一个数字作为构造时的参数,比如var arr = new Array(5)在控制台可以看见这个数组的内容是[undefined × 5]这是一个'稀疏数组',通过直接改变数组length属性得到的元素数量少于数组的length的数组。这种数组可以用for(var i=0;i
3
也可以用var arr = new Array(1,2,3)这种方式定义一个正常的数组
中括号方式定义
1
构造器的方式定义数组了解了解就行,平时应该避免使用。尽量使用中括号的方式定义数组,如var arr=[1,2,3]
2
用这种方式可以得到一个正常的一个单位的数组,而不是所谓的“稀疏数组”var arr=[1]
应该用哪种方式
1
多于一个初始元素时,2种方式定义的效果完全一样。中括号方式定义有以下好处程序更短,更易读;初始元素为1个时也能正常定义。所以大部分情况下应该使用中括号方式定义数组。
2
new Array(length)这种方式在某些特殊场合可以用到,比如可以很简洁的用一行得到一个0~99的范围的数组:new Array(100).fill().map((e,i)=>i)
3
如果不用new Array(length)这种方式,程序就会更长一些。var arr = [];for(var i=0;i<100;i++){arr.push(i);}长一些倒没什么,但更关键的是这样它就不是表达式了,而变成语句,在某些需要用表达式的场合会更不方便。
上一篇:js如何获取拼接字符串id属性
下一篇:怎么合并两个或多个数组?