数组:

概念:是一种特殊的对象。

    与普通对象的区别:a.普通对象使用字符串作为属性名,而数组使用数字作为索引来操作元素;

             b.数组的存储性能比普通对象好

数组的标志:[ ]

数组的索引:是从0开始的整数;

数组的长度:arr.length。对于连续的数组,使用length属性可获取数组的长度,而非连续的数组,使用length获得的是数组的最大索引+1

创建数组对象:构建函数法:var arr = new Array() ——当小括号里为一个数时,默认是该数组的长度;

字面量创建数组:var arr = [];

  Tip:数组中的元素可以是任意类型,包括对象、函数

 

数组的方法

push():向数组的末尾添加一个或多个元素,并返回数组新的长度

     可以将要添加的元素作为方法的参数传递,这样这些元素会自动添加到数组末尾

pop(): 删除数组的最后一个元素并且返回被删除的元素

unshift():向数组的开头添加一个或多个元素并返回新的长度

shift() :删除数组第一个元素并将被删除的元素作为返回值

sort():对数组的元素进行排序:arr.sort(function(a,b)){return b-a};

      b-a为降序,a-b为升序

revere():倒序,与sort相反

splice():替换、插入、删除;会影响到原数组,将被删除的值返回;

      arr.splice(m,n,data1,data2)——从m开始,共n个,替换成data2

slice():截取,不改变原数组;

      arr.slice(m,n);m为开始位置,n为结束位置

        假如n不写,截取到的则是从m到最后;假如n为-1,则从倒数开始截取

concat():可以连接两个或多个数组,并将新的数组返回,不对原数组造成影响

        var result = arr.(arr2,arr3);或者 arr.concat(arr2,"123");

  join():将数组连接转成字符串,对原数组无影响

      join可以将指定字符串作参数,这个字符串将成为数组元素中的连接符


  ES5新增的数组方法:

    forEach():遍历数组,需要一个函数作为参数(value,index,object)

          数组中有几个元素就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,我们可以定义形参来读取内容

map():遍历当前数组,然后调用参数中的方法,返回当前方法的返回值

filter():同map()一样,但是返回值为布尔值true时,才返回数据,过滤筛选,组成新的数组返回

every():遍历数组,函数对每一项都返回true才返回true

some():其中一项返回true,则true(返回true后不在循环)

indexOf():返回指定value的索引位置

lastIndexOf():从后往前找,但索引值不变

reduce():迭代,收敛;返回值是最后一次函数调用时的返回值,不写true时,默认返回underfined

reduceRight():与reduce相反

    

整理所学,如果错误,还望指出。