你的位置:首页 > Java教程

[Java教程]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