3.7 数组
[强制] 使用数组字面量 []
创建新数组,除非想要创建的是指定长度的数组。
示例:
// good
var arr = [];
// bad
var arr = new Array();
[强制] 遍历数组不使用 for in
。
解释:
数组对象可能存在数字以外的属性, 这种情况下 for in 不会得到正确结果.
示例:
var arr = ['a', 'b', 'c'];
arr.other = 'other things'; // 这里仅作演示, 实际中应使用Object类型
// 正确的遍历方式
for (var i = 0, len = arr.length; i < len; i++) {
console.log(i);
}
// 错误的遍历方式
for (i in arr) {
console.log(i);
}
[建议] 不因为性能的原因自己实现数组排序功能,尽量使用数组的 sort
方法。
解释:
自己实现的常规排序算法,在性能上并不优于数组默认的 sort 方法。以下两种场景可以自己实现排序:
- 需要稳定的排序算法,达到严格一致的排序结果。
- 数据特点鲜明,适合使用桶排。