数组循环

Posted 纡ゾ少︶ㄣ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组循环相关的知识,希望对你有一定的参考价值。

    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);

 


 

以上是关于数组循环的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

三个 JS Palette 循环着色器

Java数组的--遍历

快速排序-递归实现