因为数组的构造函数在处理参数时的不肯定性,所以强烈建议使用 []
符号来建立一个新数组。git
[1, 2, 3]; // Result: [1, 2, 3] new Array(1, 2, 3); // Result: [1, 2, 3] [3]; // Result: [3] new Array(3); // Result: [] new Array('3') // Result: ['3']
当只有一个参数被传递到数组的构造函数中,而且这个参数仍是一个数字时,构造函数将会返回一个元素值为 undefined
的数组,并且这个数组的 length
属性被设置为传入构造函数的数字参数。但实际上上新数组的索引并无被初始化。github
这种用法只有在不多数状况下会被使用,好比循环字符串时,这种用法能够避免使用一个循环。segmentfault
new Array(count + 1).join(stringToRepeat);
综上所述,咱们应该尽可能使用 []
来建立新函数,而不是数组的构造函数,这样代码将有更好的可读性。数组
由于这篇博文的原文比较短,因此我打算把一些经常使用的数组操做方法也总结一下:ide
1.push
- 将一个或多个新元素添加到数组结尾,并返回数组新长度。函数
2.unshift
- 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。spa
3.splice
- 将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回 []
。code
1.pop
- 移除最后一个元素并返回该元素值。排序
2.shift
- 移除最前一个元素并返回该元素值,数组中元素自动前移。索引
3.splice
- 删除从指定位置 deletePos
开始的指定数量 deleteCount
的元素,数组形式返回所移除的元素。(注意与添加元素时参数的差别)
1.join
- 返回字符串,这个字符串将数组的每个元素值链接在一块儿,中间用 separator
参数隔开。
2.slice
- 方法用于返回数组中一个片断或子数组,若是只写一个参数返回参数到数组结束部分,若是参数出现负数,则从数组尾部计数,若是 start
大于 end
返回空数组,slice
不会改变原数组,而是返回一个新的数组。
3.concat
- 将多个数组(也能够是字符串,或者是数组和字符串的混合)链接为一个数组,返回链接好的新的数组。
4.reverse
- 反转元素(最前的排到最后、最后的排到最前),返回修改后的数组。
5.sort
- 对数组元素排序,返回修改后的数组。当没有参数的时候会按字母表升序排序,也能够能够传一个排序方法进去。
http://bonsaiden.github.io/JavaScript-Garden/#array.constructor