美文网首页
js06 随堂笔记 2/13

js06 随堂笔记 2/13

作者: 瞎跑的怪兽 | 来源:发表于2017-02-14 10:21 被阅读0次

    颠倒 数组中的元素顺序 改变原数组的值

     var a = [1,2,3,4,5,6,7,8,9,0];
    console.log(a.reverse())
    console.log(a)*/
    eval();// eval()函数  可以接收一个字符串做参数
    function foo(str,a){
        eval(str)
        //var b=3
        console.log(a,b)
    }
    var b=2;
    foo("var b=3",1)// ?  */1,3
    function foo(a,b){
       console.log(a,b)
     }
    foo(8,9)//?*/
    

    forEach() 方法 迭代器函数

    var a = [1,2,3,4,5,6,7,8,9,0];
    a.forEach(function(x){
        console.log(x%2 ==0)
    })
    var x = [2,3,4,5,6,7,8,9,0];
    var OU = function(x){
        return (x%2 == 0)?true:false
    }
    var  data = x.every(OU);// false;//
    /*如果数组中检测到有一个元素不满足,
    则整个表达式返回 false ,且剩余的元素不会再进行检测。
    如果所有元素都满足条件,则返回 true*/
    console.log(data)
    

    二维数组

    创建一个二维数组
    var arr = [[1,2],[2,3], [3,4]]
                //0    1       2  父数组中的下标
    var arr = [
        [1,2],//0
       //0 1  子数组中的下标
        [2,3],//1
        [3,4] //2
    ]*/
    /*
    var  arr = [];
    arr[0] = [1,2];
    arr[1] = [2,3];
    console.log(arr[0])
    */
    

    栈和队列

    // 栈 先进入的元素后出  结尾入栈 先出栈 特
     点:只能从一端插入/另一端封闭
    // 元素下标是固定的
    // 入栈   arr.push(值) //入栈 每次压入一个新值
    // 出栈  arr.pop() 末尾弹出
    /*
    var bus = [];
    for(var i=1;i<=5;i++){
       bus.push("乘客"+i)
    }
    console.log(bus)//["乘客1", "乘客2", "乘客3", 
    "乘客4", "乘客5"]
    while(bus.length > 0){
    var cus = bus.pop();
    console.log("末尾弹出" + cus)
    }
    console.log(bus)*/
    

    JS 开头入栈出栈的方法 所有下标都会随着入栈出栈的操作发生变化

    //unshift  入栈  (开头入栈)
    /* var  queue=[];
    for(var i=1;i<=5;i++){
      queue.unshift("第"+i+"个吃包子")
    }
    console.log(queue)
    var bao = 5;
    while(bao>0){
    //  var  cas = queue.shift();// 开头出栈
      var  cas = queue.pop();//末尾出栈
      console.log(cas+"吃完")//
       bao--;
    }*/
    /* var bing = 5;
     var queue = [];
    
    for(var i=1;i<=5;i++){
      queue.push("顾客"+i);
    }
    console.log(queue)
    queue.push("大白牙");//[1,2,3,4,5,"大白牙"]
    
    while(bing>0){
    //   开头出栈
      var cus = queue.shift();
      console.log("恭喜"+cus+"抢购成功");
      bing--;
    }
    console.log(queue+"没抢上")*/
    
    
    
    // 去掉数组中重复的元素次数
     /*   var  arr = [2,3,4,3,6,4,5,6];
      var hash = [];
      for(var i=0;i<arr.length;i++){
          //hash ---- undefined
    //如果hash 数组中 不包含 当前元素 arr[i]  key +1
          //arr[i]=3
     if(hash[arr[i]] === undefined){
    //key+1/
       hash[arr[i]] =1;
     }else{
       hash[arr[i]]++;
     }
    }
     console.log(hash)//[2: 1, 3: 2, 4: 2, 5: 1, 6: 2]
     var str = [ ];
    for(var  key in hash){
    //依次将hash 中的每一个 (value值) key值为1 追加到 hash中
          str[str.length] = (key-=0)
    }
    
    
    console.log(str)
    var  arr = [2,3,4,6,4,5,6];
    var arr2=[];
    var arr3=[];
       for(var i=0;i<arr.length;i++){
    //i遍历当前元素
           var x=1;//记次数
           for(var j=i+1;j<arr.length;j++){
    //j 遍历当前元素后面的所有元素
               if(arr[i]==arr[j]){
                 arr.splice(j,1);
                 x++;
                 j--;
             }
         }
         arr2[i]=arr[i]+":"+x;
         arr3[i]=arr[i];
     }
    console.log(arr2)
    console.log(arr3)*/
    //数组 sort()  排序 默认升序 直接改变原数组的值
     var arr= [6,4,1,0,9,2];
      console.log(arr.sort());
      console.log(arr)
     var arr1= [161,24,41,0,9,2];
    //console.log(arr1.sort())
    // 自定义比较器函数  *默认写*
    //  1) function compare(a,b){return a-b}
    
    /*function compareASC(a,b){return a-b}// 升序
    function compareDESC(a,b){return b-a}// 降序
    var s = arr1.sort(compareDESC)
    console.log(s)
    
    arr1.sort(function(a,b){return a-b>0})
    console.log(arr1)*/
    //  1) function compare(a,b){return a-b}
    //2)声明提前
    //var compare = new Function
       ("a","b","return a-b");
    
    // 在html中创建2个按钮一个是升序 一个是降序
    //在js中创建一个数组  当点击升序的时候控
     制输出升序排序   当点击降序的时候控制输出降序排序
    // 5
    // 随机数
    // 公式  Math.random()
    //任意范围内取随机数
    //0~10 之间
    //Math.random()*(max-min+1)+min
    var  sum = parseInt(Math.random()*(10-0+1)+0)
    console.log(sum)

    相关文章

      网友评论

          本文标题:js06 随堂笔记 2/13

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