zoukankan      html  css  js  c++  java
  • javascript学习day10——Array对象

    Array的方法   
    一、判断变量是不是数组
    1     var obj = [];
    2 //法一
    3     console.log(obj instanceof Array);
    4 //法二
    5     console.log(Array.isArray(obj));

    二、克隆数组

    1     var arr1 = ["a","b","c"];
    2     //将arr1复制到arr2里
    3     var arr2 = Array.from(arr1);
    4     console.log(arr2);

    三、合并两个或多个数组

    1 var arr1 = ["a","b","c"];
    2 var arr3 = ["d","e","f"];
    3 console.log(arr1.concat(arr2,arr3));

    四、检测数组里的每一个元素是否都通过了测试

        var arr4 = [1,2,3,4,5];
        // 元素的值:a           
        // 索引的值:b
        // 谁调用了这个方法:c
        var temp = arr4.every(function(a,b,c){
            return a>10;//false
            //数组中的每个元素的值都大于10,则返回true,否则为false
        });
        //应用:可以去判断工资啊价格啊什么的
    
        var arr5 = ["意思时123","黄金开采","东方不败","大话西游之降妖伏魔"];
        var temp2 = arr5.every(function(a){//可以省略不用用到的参数
            return a.length>4;
            //判断数组里每个元素的长度是否都大于4
        });
        console.log(temp2);//false

    五、创建一个包含所有通过提供的函数检测的元素的数组

    比如把arr5中所有满足长度大于4的元素包含到一个新的数组里

    1     var newArr = arr4.filter(function(ele1){
    2         return ele1 >3;
    3     });
    4     console.log(newArr);//[4, 5]
    5 
    6     var newarr = arr5.filter(function(ele){
    7         return ele.length>4;
    8     });
    9     console.log(newarr);//["意思时123", "大话西游之降妖伏魔"]

    六、

    push(), pop(), shifft(), unshift(), forEach(), indexOf(), join(), map(), reverse() 
           var arr4 = [1,2,3,4,5];
         var dele = arr4.pop();//[1,2,3,4] dele =5
    var arr4 = [1,2,3,4,5];
        arr4.push(900);//[1,2,3,4,5,900]
    var arr4 = [1,2,3,4,5];
        dele = arr4.shift();//[2,3,4,5] dele = 1
    var arr4 = [1,2,3,4,5];
        arr4.unshift(90);//[90,1,2,3,4,5]
      var b = [55,66,77,88,99];
        b.forEach(function(ele,index){
            console.log(index+"---"+ele);
        });
    
        /*
         *0---55
           1---66
           2---77
           3---88
           4---99
         */
        
        
         var m = b.indexOf(66);
        console.log(m);//1
    
        var str = b.join("|");
        console.log(str);//55|66|77|88|99
     1   var num = [4,64,9,25,16];
     2     //对num里面的每一个数进行开方运算
     3     var roots = num.map(Math.sqrt);
     4     console.log(roots);// [2, 8, 3, 5, 4]
     5     console.log(num.reverse());//[16, 25, 9, 64, 4]
     6     
     7     num.sort();//sort方法可能会不稳定
     8     //自己定义一个比较函数,将num里的数从小到大进行排序
     9     num.sort(function(a,b){
    10         if(a>b){
    11             return 1;
    12         } else if(a==b){
    13             return 0;
    14         } else {
    15             return -1;
    16         }
    17     });
    18     console.log(num);//[4, 9, 16, 25, 64]
          var tmpp = num.slice(2,4);//取出第2个到第3个位置的元素并存进新数组
           console.log(tmmp);//[16, 25]
     

    splice() 方法 可以用来替换,添加,删除

    1          num.splice(2,0,99999);//在索引为2的地方插入99999
    2          console.log(num);//[4, 9, 99999, 16, 25, 64]
    3          num.splice(2,1);//在索引为2的位置删除1项
    4          console.log(num);// [4, 9, 16, 25, 64]
    5          num.splice(2,1,99999);//在索引为2的地方替换为99999
    6          console.log(num);// [4, 9, 99999, 25, 64]
    7          num.splice(2,2,99999);//在索引为2的地方将2个位置替换为99999
    8          console.log(num);// [4, 9, 99999, 64]    
  • 相关阅读:
    (没有意义讨论)二元运算符和自加符的深入理解,小心多个++的陷阱
    c语言复杂变量声明(数组、指针、函数)
    bundle对象传送序列化serialization引用时问题
    android异步任务详解 AsynTask
    servlet使用get方法传送中文参数
    服务器2
    windows server 2003 网站无法访问,重启iis也不行。重启系统解决了。
    得到本周第一天
    JS时间大全
    树状侧边栏
  • 原文地址:https://www.cnblogs.com/xyishere/p/13776035.html
Copyright © 2011-2022 走看看