一、数组的基础:
增:
头部增加:arr.unshift(3,4,5) arr=[3,4,5] 原arr改变 ,一次可以增多个,括号里可写增加的内容;如 arr=[]
尾部增加:arr.push(7,6) arr=[3,4,5,7,6] 原arr改变 ,一次可以增多个,括号里可写增加的内容;如 arr=[]
删:
尾部删: arr.pop() 原arr改变 ; 括号里不需要参数,一次只删一个
头部删:arr.shift() 原arr改变 ; 括号里不需要参数,一次只删一个
改:
连接:arr.concat(arr1) c=arr.concat(arr1) arr和arr1连接成一个新的数组c,原数组都不变,返回新数组
截取:arr.slice(index1,index2) 参数index可正可负,包含arr[index1],不包含arr[index2],原数组都不变,返回新数组
综合:arr.splice(1,2,3,4,5),其中第一个参数为index,第二个参数为删除的个数,其余的为在原位置上替换的新内容, 返回被删 除的内容,原数组也改变,如arr=[1,3,4,5] arr.splice(1,2,66,77,88) 返回[3,4] ,原数组arr=[1,66,77,88,5]
查:
for循环: for(var i=0,length=arr.length;i<length;i++){ console.log( arr[i])} 遍历出数组的每一项
for/in: for(var item in arr){ console.log(arr[item])}
排序:
翻转:arr.reverse() 原arr改变 arr=[1,2,3,4] arr.reverse() [4,3,2,1]
排序:sort(f) sort()默认按字母升序,可以定义函数f,定制排序规则
数值 小到大 : function f(a,b){return a-b} arr.sort(f) 返回的是 数值小到大的数组(是原数组改变的)
数值大到小: function g(a,b){return b-a} arr.sort(g) 返回的是 数值大到小的数组(是原数组改变的)
二--数组的扩展方法:
Array.prototype._m=Array.prototype.m||(Array.prototype.m=function(){ //扩展方法的具体代码 });
Object.prototype.m=Array.prototype._m
举例:为数组扩展一个求所有元素和的方法
Array.prototype._m=Array.prototype.m||(Array.prototype.m=function(){
//扩展方法的具体代码
var _n=0;
for(var i in this){
if(this[i]=parseFloat(this[i])){_n+=this[i]} //如果数组元素是数字,则进行累加(先试图把每个元素转成浮点数,成功则相累加,失败返回NaN,会忽略该元素的值)
}
return _n; //返回累加的和
});
Object.prototype.m=Array.prototype._m
var a=[1,2,3,4,5,6,7,8,"9"] a.m() //45
三、数组迭代器(未完待续)