zoukankan      html  css  js  c++  java
  • 数组循环

        let arr = ['apple', 'banana', 'orange', 'tomato'];
         //循环内容
        for(let val of arr)
        {
            console.log(val);
        }
        //循环索引
        for(let index of arr.keys())
        {
            console.log(index);
        }
        //循环索引和索引所对应的值
        for(let item of arr.entries())
        {
            console.log(item);
        }
        for(let [key,val]  of arr.entries())
        {
            console.log(key,val);
        }
        //求数组的和/阶乘
        let arr = [1, 2, 3, 4,5];
        let b1 = arr.reduce((prev,val, index, arr2) => {
            return prev + val;
            //(prev是当前内容之前数的和)
        });
        console.log(b1);
        //b1=15
        //类似查找 数组里某一个元素符合条件,返回true
        let arr = ['apple', 'banana', 'orange'];
        let b = arr.some((val, index, arr) => {
            return val == "banana";
        });
        console.log(b);
        //数组里面所有额元素都要符合条件才返回true
        let arr2 = ['1', '3', '5', '7'];
        let b1 = arr2.every((val, index, arr2) => {
            return val % 2 == 1;
        });
        console.log(b1);
        //过滤一些不合格的“元素”;需要retrun
        //如果回调函数等于true就留下
        let arr = [
            { title: 'aaa', read: 100, hot: true },
             { title: 'bbb', read: 100, hot: false },
              { title: 'ccc', read: 100, hot: true },
               { title: 'ddd', read: 100, hot: false }
        ];
      let newarr=  arr.filter((val, index, arr) => {
          console.log(val, index, arr);
          return val.hot == true;
      })
      console.log(newarr);
        //非常有用  做数据交互“映射”正常情况下。
        //需要配合retrun, 返回一个新的数组,若是没tetrun相当于foreash
        //
        let arr = [
            { title: 'aaa', read: 100, hot: true },
             { title: 'aaa', read: 100, hot: true },
              { title: 'aaa', read: 100, hot: true },
               { title: 'aaa', read: 100, hot: true }
        ];
      let newarr=  arr.map((val, index, arr) => {
          console.log(val, index, arr);
          let json = {};
          json.t = `^_^${val.title}`;
          json.r = val.read+200;
          json.h = val.hot == true && '真棒!!!';
          return json;
      })
      console.log(newarr);
       let arr = ['apple', 'banana', 'orange', 'tomato', ];
        //arr.forEach{循环一次干什么事,this指向谁(不写指向windows)}箭头函数只指向定义的对象
        arr.forEach(function (val, index, arr)
        {
            console.log(this,val,index,arr);
        },123);
    
    
  • 相关阅读:
    用Lua编写ACM算法竞赛开灯问题
    糟糕的中文版龙书
    font and face, 浅探Emacs字体选择机制及部分记录
    栈与卡特兰数
    关于2018年东南大学Robomaster算法组工作的总结
    C++中的默认参数规则
    MySQL第三章——嵌套查询
    MySQL第三章——空值的处理
    MySQL第三章——数据更新
    MySQL第三章——连接查询
  • 原文地址:https://www.cnblogs.com/skyhorseyk/p/9105185.html
Copyright © 2011-2022 走看看