javascript如何定义数组js如何创建数组
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<arr.length;i++){}这种方式遍历,无法用for(var e in arr){}的方式和arr.forEach(function(e,i){})的方式遍历,可能会带来一些问题,应该避免稀疏数组的创建,所以不要使用new Array(5)这种创建方式,也不要直接改变数组的length属性。
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);}长一些倒没什么,但更关键的是这样它就不是表达式了,而变成语句,在某些需要用表达式的场合会更不方便。