20151119js上课总结

1.关于数组的一些方法

push
    作用:向数组的末尾追加一个或多个元素
    返回值:数组的length
    注意:会改变原数组
    参数:
        要追加的元素
pop
    作用:删除数组的最后一项
    返回值:被删除的一项
    注意:会改变原数组
    参数:无

unshift:
    作用:向数组的最前面添加一个或多个元素
    返回值:数组的length
    注意:会改变原数组
    参数:
        要添加的元素
shift:
    作用:删除数组第一项
    返回值:被删除的一项
    注意:会改变原数组
    参数:无

var str="abc";
    var arr=[3,2,7];
    arr.push(4);
    console.log(arr);//[3,2,7,4]
    arr.push(str);
    console.log(arr);//[3,2,7,4,"abc"]
    console.log(arr.length);//5
    arr.length=3;
    console.log(arr);//[3,2,7]
    //arr.length=-1;//报错Invalid array length
    arr.length=6;
    console.log(arr);//[3,2,7]
    console.log(arr[3])//undefined;
    arr.length=0;
    console.log(arr);//[]

sort
作用:对数组进行排序的
用法:Array.sort();
返回值:是一个数组
注意:
    会改变原数组
    默认是从小到大排序
    默认排序规则都是按照字符串排序的
参数:
    不传参:
        默认是从小到大排序
        默认排序规则都是按照字符串排序的
    传入参数:
        必须是一个函数
            函数两个参数:
                a b

            随机从数组中那两数进行减元素

            如果两个数的值小于等于0 那么不交换位置
            如果大于零,数组的中的两个数交换位置

var arr=[2,3,21,5,7,9,6,100];
    arr.sort();
    console.log(arr);//[100,2,21,3,5,6,7,9]
    arr.unshift("a");
    console.log(arr);//["a",100,2,21,3,5,6,7,9]
    arr.sort();
    console.log(arr);//[100,2,21,3,5,6,7,9,"a"]
    arr.sort(function(a,b){
        return a-b;
    });
    console.log(arr);//[2,3,5,6,7,9,21,100,"a"]
    arr.sort(function(a,b){
        return b-a;
    });
    console.log(arr);//[100,21,9,7,6,5,3,2,"a"]

    var arr=["abc","edf","bde"];
    arr.sort(function(a,b){
        return a.charCodeAt()-b.charCodeAt();
    })
    console.log(arr);//["abc","bde","edf"];

    arr.sort(function(a,b){
        return b.charCodeAt()-a.charCodeAt();
    })
    console.log(arr);//["edf","bde","abc"]


    var arr=[1,100,3,"b","9",8,"a"];
    arr.sort(function(a,b){
        return a-b;
    }) 
    console.log(arr);//[1,3,100,"b",8,"9","a"],此时sort基本没有起到就有的作用

    arr.sort(function(a,b){
        if(typeof a!=="number"){
            a=a.charCodeAt();
        }
        if(typeof b!="number"){
            b=b.charCodeAt();
        }
        return a-b;
    })
    console.log(arr);//[1,3,8,"9","a","b",100]

slice:
    作用:截取数组中的项
    用法:Array.slice()
    返回值:截取的项重新组成的数组
    注意:不改变原数组
    参数:
        同string 的slice方法

splice:
    作用:删除,添加数组的项
    用法:Array.splice();
    注意:会改变原数组
    返回值:被删除的项组成的新的数组
    参数:
        无参数:
            返回的是空数组
        第一个个参数:
            是一个数字
                指定从数组的那个位置开始删除
                返回的是从指定位置到数组最后,所有项组成的新数组
        第二参数:
            指定删除的个数
                个数 0 那么返回值为空数组
        第三个参数
            从第三个参数开始,后面依次填写的参数,就是想数组中添加的元素

concat
    作用:连接一个或者多个数组
    用法:Array.concat();
    注意:不会改变原数组
    返回值:几个数组连接受组成的新数组
    参数:

        可以传入数组
        可以传入值的形式
        "122" 123 null

reverse
    作用:翻转数组的
    用法:Array.reverse()
    注意:会改变原数组
    返回值:翻转后数组组成的新数组

    参数:无

var arr=[2,43,5];
    var abc=arr.slice(1);
    console.log(abc);//[43,5]
    console.log(arr);//[2,43,5]

    var bd=arr.splice(1,0,"de","gd");
    console.log(bd);//[]
    console.log(arr);//[2,"de","gd",43,5]

    var arr1=[25,3,2];
    var arr2=[51,3,1];
    var arr3=[[[["gda"]]]];
    var newArr=arr1.concat(0,3,2,arr3,arr2);
    console.log(arr1);
    console.log(arr2);
    console.log(newArr);
    newArr=arr1.concat(arr3,arr3,arr2,arr2);
    console.log(newArr)

    var gd=arr.reverse(134);
    console.log(arr);
    console.log(gd);
    var str="gadga";
    var str2=str.split("").reverse().join("");
    console.log(str2);//agdag
原文地址:https://www.cnblogs.com/sunshinegirl-7/p/4980377.html