JS之数组操作

数组的操作

预处理:var arr = [1,2,3,4,5];

1. join( )

  • 用于把数组中的所有元素放入一个字符串。元素通过指定的分隔符进行分隔,参数就是指定的分隔符。

  • 当分隔符为无,可将把数组直接转化为字符串。

    console.log(arr.join("|"));//1|2|3|4|5;
    

2. pop( )

  • 删除并返回数组最后一个元素的值,把数组长度减 1。如果数组为空,则不进行任何操作,返回undefined。

    console.log(arr.pop());//5;
    
  • 注意:这是直接对原数组进行修改。

3. shift( )

  • 删除并返回数组第一个元素的值,把数组长度减 1。如果数组为空,则不进行任何操作,返回undefined。

    console.log(arr.shift());//1;
    
  • 注意:这是直接对原数组进行修改。

4. push( )

  • 向数组的末尾添加一个或多个元素,并返回新的长度。

    console.log(arr.push("a","b","c"),arr);//8 [1, 2, 3, 4, 5, "a", "b", "c"]
    
  • 注意:这是直接对原数组进行修改。

5. sort( )

  • 用于对数组元素进行排序。
  • 参数可选,规定排序顺序。必须是函数。
  • 不使用参的话,按照字符编码的顺序进行排序,会将元素转换成字符串。
  • 按照其他标准进行排序,可以使用比较函数:

    var arr = [10,22,23,4,5,37];
    
    function fn(a,b){
        return a-b;//b-a
    }
    
    console.log(arr.sort(fn));
    //[4, 5, 10, 22, 23, 37]
    //a-b表示从小到大排序,b-a表示从大到小排序。
    

6. reverse( )

  • 对当前数组的逆序,是无脑排序。

    console.log(arr.sort(fn).reverse());//可直接在例5的情况下进行从大到小的排序。
    
  • 注意:这是直接对原数组进行修改。

7. slice( )

  • 从某个已有的数组返回选定的元素(可为字符串,数组)。第一个参数可为负数,-1表示倒数第一个。

    console.log(arr.slice(2,6));//[3, 4, 5]
    

8. splice( )

  • 用于对数组的删除、替换、插入元素,并返回被删除的元素。

  • 语义:arr.splice(starIndex(位置坐标),deletCount(删除个数,0表示不删除), item(要替换,或插入的序列))

    console.log(arr.splice(2,4));//删除下标2以后的4个元素
    console.log(arr.splice(2,0));//获取空数组
    console.log(arr.splice(2,0,"abc"));//删除下标2以后的0个元素,并增加abc
    
  • 注意:这是直接对原数组进行修改。

9. forEach( )

  • 遍历

    arr.forEach(function(value,index,arr){
        console.log(aa,bb,cc);
    });
    
  • 第一个参数,代表的是值;第二个参数,代表的是下标;第三个参数 代表的是数组本身。

  • if(cc[index] == value){};//对IE6,7,8不兼容