2016javascript数组

       function Person(name,age,gender){
           this.name=name;
           this.age=age;
           this.gender=gender;
       } 
       var per = new Person('孙悟空',18);
       var per2 = new Person('啥',28);
       var per3 = new Person('子',8);
       var per4 = new Person('动',16);
       var per5 = new Person('西',38);
       var perArr = [per,per2,per3,per4,per5];
       function Arrpre(){
           var name=[];
           for(i=0;i<perArr.length;i++){
               if(perArr[i].age>18){
                   name.unshift(perArr[i])
               }
           }
           console.log(name);
       }
       var fun=Arrpre;
View Code
        //  数组 对象时属性 属性值 数组 索引 值
        /* 
        索引从0开始的整数;整体叫元素
        */
       /* 内建对象ES标准 宿主对象 自定义对象
       数组 Array
       数组里可以对象 数组
        */
    //    var arr = new Array('inks',1,2,3,4);
    var arr = [2,3,4,5,6,7]
    arr = [name.null,undefined,1.3]
    arr = [function(){alert(1);},function(){alert(2);},function(){alert(3);}]
数组属性
        var arr = ['inks','joker','meijun','yeye']
        console.log(arr);
        // 数组后添加 push(可以添加多个) 后面删除pop
        // 前面添加unshift 删除unshift
        arr.unshift('das','jsaidojoi');
        console.log(arr);
数组遍历
        // 遍历
        var a = ['inks','joker','pink','jiabaili',18];
        /* for(i=0;i<a.length;i++){
            console.log(i+'='+a[i]);
        }
         */
        a.forEach(function(value,index,suoyou){
            console.log(value,index,suoyou);
        });
View Code

 数组去重

        // slice 截取数组slice(start,end)不会修改原数组start(选中指定数字)end(选择钱一个数字)
        // splice(start,number,'')可以增加或删减 start第几个数组 number是从start开始的个数 ''增加
        var arr = [1,2,4,9,2,2,2,2,3,4,5,6,5,8,5];
        // var a = arr.sort();
        for(var i=0;i<arr.length;i++){
            console.log(i);
            // 原理简单 arr.length受splice影响 i已经确定好了 a不确定,arr变化刷新了总值 a变化不了
            for(var a=i+1;a<arr.length;a++){
                // 去重后length数量发生变化 
                if(arr[i]==arr[a]){
                    arr.splice(a,1);
                    a--;
                }
            }
        }
View Code

 数组的方法

        /* 
        concat连接数组 such as: a.concat(b,c,'dsa')
        join()将数组转字符串 join('keke')里面设置的是间隔开的字符 默认,
        pop删除并返回最后一个元素 影响数组
        push数组后面添加多个元素 影响数组
        reverse颠倒数组
        sort对数组元素进行排序 Unicode编码
        shift删除并返回第一个元素
        unshift在数组头部增加多个元素 返回长度
        scile 截取数组scile(start,end)
        splice向数组添加新的元素splice(start,end,'addvalue')
        */
        var a = ['joker','inks','pin','mike',123];
        var b = [1,2,3,11,4,5,6,111];
        var c = ['joker','inks','pin','mike',123];
        var arr = b.sort(
            function(a,b){
                return b-a;
              }
        );
        console.log(arr);
        console.log(b);
View Code

 正则

       /* 量词 :
       n+: 匹配一个或多个字符串
       n*: 匹配0或以上字符串
       n?: 匹配0/1个字符串
       n{x,y}至少是x-y个这样的字符串
       ^n :这个字符串开头
       n$:这个字符串结尾
       */
      /* 转义符
      .n 查找n字符串
      \W 查找大写英文字符串
      \w 查找小写写英文字符串
      \d 查找数字
      \D 查找非数字
      \s 查找空个字符串
      \S 查找非空格
      */
    /*方括号
    [abc]==a|b|c==[a-c] [0-9A-z]
    [^]除这个集合以外字符 
     */
    /* 
    修饰符 g(全局搜所) i(无视大小写)
    书写var reg =RegExp('匹配字符串','搜索类型');字面量 var reg = /'匹配字符串'/g(搜索类型) 
    reg.test()方法匹配是否正确 false true
    String里方法配合正则
    search(/abc/) 返回位数
    match 查找出现的字符串
    replace(/n/,'替换字符串') 替换字符串
    split(/[0-9]/) 切合字符串以数组形式表达
    */
posted @ 2021-02-01 18:11  inks  阅读(73)  评论(0)    收藏  举报