JS几种遍历方式

遍历方法:for、for in、for of、forEach、map。
1、for循环用于循环执行一定次数的代码块,是一个js语句而不是方法,既可以用来循环数组也可以用来循环类数组的数据结构,可以通过break或者return来跳出整个循环。

2、for in 循环遍历数组下标或者对象的属性key的,可以通过break或者return来跳出整个循环。

3、for of 用来循环遍历数组单项值或者对象属性值的,可以通过break或者return来跳出整个循环。

4、forEach方法,对数组的每个元素执行一次传入的callback方法,无法中途退出循环,只能通过return来跳出某次循环

5、map方法,传入一个callback函数,返回新的数组,不改变原数组。

使用场景:

function multiple(num, n, time = 1000) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(num * n);
    }, time);
  })
}

let n = 5;
let arr = [1, 2, 3, 4];

// 同步循环。一瞬间执行完,1秒后同时打印出来
arr.forEach(async (item) => {
  const res = await multiple(item, n);
  console.log('forEach', res);
});

// 同上,一次性输出
arr.map(async item => {
  let res = await multiple(item, n);
  console.log('map', res);
})

// 每隔一秒输出一个
!(async function () {
  for (let i = 0; i < arr.length; i++) {
     let res = await multiple(arr[i],n);
     console.log('for',res);
  }
})();

// 同上,异步循环。先执行第一个,有结果后再执行第二个,第二个有结果了再执行第三个...
!(async function () {
  for (let i of arr) {
    const res = await multiple(i, n);
    console.log('for...of', res);
  }
})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值