美文网首页
总结js循环的几种方式及适用场景

总结js循环的几种方式及适用场景

作者: 候鸟与暖风 | 来源:发表于2020-06-07 10:48 被阅读0次

因为js中循环数据的方法太多了,很多时候容易弄混它们之间的区别,无法找到更适合的方法从而多走弯路一些,以下是我总结的一些常用的方法,可供大家参考学习.....

1.for循环: 循环数组,无返回值

let arrayList = [1,2,3,4]
for(let a =0;a<arrayList.length;a++){
}

2.forEach() : 循环数组,无返回值,有作用域

let arrayList = [1,2,3,4]
 arrayList.forEach(item=>{
  
 })
  

forEach循环是for循环的简化版
1.在数据长度固定且不需要计算的情况下,for循环的计算效率高于forEach
2.在数据比较复杂,且数组长度不固定的情况下,用forEach则更为好
3.forEach是函数,那么就存在函数作用域,而for循环则不存在函数作用域问题,因此在某些情况下则要自己权衡利弊了

3.filter()循环:循环数组,有返回值,返回一个新的过滤之后的数组

let arrayList = [1,2,3,4]
 let newArray= arrayList.filter(item=>{
    return  item>1
 })
console.log(newArray) // [2,3,4]

4.map()循环:循环数组,返回一个新的数组

let arrayList = [1,2,3,4]

1. let newArray= arrayList.map(item=>{
    return  item>1
 })

2. let newArray1= arrayList.map(item=>{
    return  item+1
 })
console.log(newArray) // [false,true,true,true]
console.log(newArray1) //[2,3,4,5]

从这里我们便可以看出map循环和filter循环最大的区别
filter,不能改变原数组值,只能对原来的数组进行过滤,返回的一个新的数组
map,改变原来数据的值,返回一个新的数组

5.some()循环:循环数组,检测到是否有某个值满足条件,有返回值true,否则返回false

let arrayList = [1,2,3,4]
 let flag = arrayList.some(item=>{
    return  item >1
 })
console.log(flag) // true

6.every() 循环:循环数组,检测所有值都否都大于某个值。如果是就返回true,否则false

let arrayList = [1,2,3,4]
 let flag = arrayList.some(item=>{
    return  item >1
 })
console.log(flag) // false

some和every的区别
some循环,检测数据中是否有某个值满足这个条件,如果有,则返回true,如果都不满足否则返回false
every循环,检测数组中是否每个值都满足这个条件,如果都满足,才返回true,否则任何一个不满足,就会返回false

7.for...in... :循环对象,无返回值

let obj = {
    name:'chen',
    age:10,
    sex:1
  }

for(let key in obj){
    console.log(key) //name  age  sex
    console.log(obj[key]) // chen 10 1
}

相关文章

网友评论

      本文标题:总结js循环的几种方式及适用场景

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