数组的习惯用法
排序
sort()
函数可对数组进行排序,此方法为破坏性方法,会影响数组的内容,造成不可逆转的改变。 此外,还可以使用匿名内部函数的形式对排序进行自定义。
var arr = [0, 1, 3, 4, 7, 9, 10, 33, 55, 2, 8, 77];
arr.sort();
console.log(arr);
arr.sort(function(a,b){
return a - b;
});
console.log(arr);
- 备注: 改写目标对象的方法被称为破坏性的方法。array中很多此类的方法:
pop, push, reverse, shift, sort, splice, unshift
。
通过数组生成字符串
通过push
和join
来实现字符串的拼接,一般而言,这种方式比通过字符串的+
拼接更快。
var arr = [];
arr.push('<div>');
arr.push(Date());
arr.push('</div>');
var temp = arr.join(' ');
console.log(temp);
temp.split(' ');
如果join
函数不传入参数,则默认使用,
来进行分割。 与join
向对应的是split
函数,
数组的复制
concat
or slice
方法实现复制,不要直接使用=
来进行赋值。
元素的删除
使用delete
进行删除,在此处会留下undefined
,还可使用splice
函数进行删除,这种删除方式不会留下空位置。
筛选处理
使用函数map
and filter
or every
or some
or reduce
or rightreduce
等可以对数组的每个元素进行处理。
var temp = [1,2,3,4,-5, 9, 10];
var temp1 = temp.map(function(element){
return element*element;
});
var temp2 = temp.filter(function(element){
if(element < 0) {
return true;
} else {
if(element % 2 == 0) {
return true;
}
}
return false;
});
console.log(temp1); // Array(7) [1, 4, 9, 16, 25, 81, 100]
console.log(temp2); // Array(4) [2, 4, -5, 10]