美文网首页
Array对象的用法,js中数组方法

Array对象的用法,js中数组方法

作者: 虚幻的锈色 | 来源:发表于2017-02-27 00:16 被阅读83次

    【数组】

    什么是数组:数组就是一组数据的集合
    数组对象的作用是什么:使用单独的变量名来存储一系列的值。

    var arr=[1,5,2,4]
    var arr=['adf','ada','ade','11213',12,'_','李鹏',{},[],function(){},obj]
    //数组中可以存放任何东西,字符串,数字,函数,数组,json等都可以。
    

    数组的创建:

    1)可以直接写:

    var arr=[2];
    

    2)js中对象基本都可以通过new出来,

    var arr=new Array(1,2,3,4)
    

    :如果只写一个值得话,意思是:创建一个空数组,规定空数组的长度

    var arr=new Array(2);
    //申明一个arr数组,并且规定长度是2,也就是length。
    
    JS中数组自带的一些小函数,方法:
    1、arr.push() 往数组最后添加一项
    var arr=[1,2,3];
    arr.push(4)
    alert(arr) //[1,2,3,4]
    
    2、arr.unshift() 往数组前面添加一项
    var arr=[1,2,3];
    arr.unshift(0)
    alert(arr) //[0,1,2,3]
    
    3、arr.pop(); 删除数组最后一位
    var arr=[1,2,3];
    arr.pop()
    alert(arr) //[1,2]
    
    4、arr.shift(); 删除数组第一位
    var arr=[1,2,3];
    arr.shift()
    alert(arr) //[2,3]
    
    5、arr.splice(开始的位置,删除的个数,添加的东西)
    var arr=[1,2,3];
    arr.splice(1,1)  //如果不添加,可以不写
    alert(arr) //[1,3];
    
    //**********
    var arr=[1,2,3];
    arr.splice(1,1,4,5,6)  ,
    alert(arr) //[1,4,5,6,3];
    
    6、arr.join('*'); 数组变成字符串 括号里是字符串的链接方式
    var arr=[1,2,3];
    //切完后,变成的字符串是 数组的每一项中间加上你的链接方式。
    alert(arr.join('*')) //'1*2*3';
    //***********
    var arr=[1,2,3];
    alert(arr.join('-')) //'1-2-3';
    //***********
    var arr=[1,2,3];
     //不写的话就直接切
    alert(arr.join('')) //'123';
    
    
    7、arr1.concat(arr2,arr3) 数组拼接 括号里是要拼接的数组,多个数组用逗号隔开
    var arr=[1,2,3];
    var arr1=[4,5,6];
    var arr2=[7,8,9];
    alert(arr.concat(arr1,arr2))   //1,2,3,4,5,6,7,8,9
    
    8、arr.reverse() 反转数组
    var arr=[1,2,3];
    alert(arr.reverse())   //3,2,1
    
    9、arr.sort() 数组的排序

    注:这里面的排序并不是普通理解的数字大小排序,是按照字符集的大小来排列的;
    字符串比较大小
    1、字母
      a<z
      A<a
      按字母顺序依次比较
    2、数字
      1)两个都是字符串 '12' '11'
       跟字母一样
      2)一个字符串一个数字 '12' 4
       会隐式类型转换
    3、汉字
      也是有顺序的,可以从网上搜索看看,没有人记得住。
       第一个 一
       最后一个 龥
    所以,如果我们有一个纯数字的数组,直接用sort方法排序,顺序并不是按照数字大小排列的。
    比如:

    var arr=[1,2,3,12,45,75,11,23];
    alert(arr.sort())   //1,11,12,2,23,3,45,75
    
    有一种数组去重的方法中就用到sort,当然数组去重很多种方法,我就说这一种。
    var arr=[12,32,43,11,2,3,4,1,2,3,4,6,1];
            arr.sort();  //因为是根据字符集大小来排序,所以相同的一项,肯定是排在一起。如:a,a,11,11 所以利用这个去重
            for(var i=0; i<arr.length; i++){
                if(arr[i]==arr[i+1]){ //上面解释过了,相同的项会在一起,所以第i和i+1相同,就重复,删除即可
                    arr.splice(i,1);
                    i--;  //因为删除了,数组的length都会发生改变,如果出现有三项相同的或者是别的情况,就会出错,所以删除后,在用当前这个和别的进行对比。
                }
            }
            alert(arr.sort());//1,11,12,2,3,32,4,43,6
    
    但是,很多时候,我们数组里面是纯数字,我们就想按照数字的大小进行排序,可以,有高级排序方法
    var arr=[12,1,5,2,45,3,87,11,-12,0];
            arr.sort(function(a1,a2){  //代表的是数组中某两项
                return a1-a2;  //返回的必须是数字
                //a1-a2   从小到大
                //a2-a1   从大到小
                //Math.random()-0.5 乱序 美一次顺序都不一样
            });
            alert(arr);//-12,0,1,2,3,5,11,12,45,87
    

    相关文章

      网友评论

          本文标题:Array对象的用法,js中数组方法

          本文链接:https://www.haomeiwen.com/subject/gxwawttx.html