javascript基础--数组(基础,迭代器,扩展数组的方方法)

一、数组的基础:

增: 

        头部增加: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

三、数组迭代器(未完待续)

猜你喜欢

转载自blog.csdn.net/wenmin1987/article/details/84310585