总结js循环的几种方式及适用场景
因为js中循环数据的方法太多了,很多时候容易弄混它们之间的区别,无法找到更适合的方法从而多走弯路一些,以下是我总结的一些常用的方法,可供大家参考学习.....
1.for循环: 循环数组,无返回值
let arrayList = [1,2,3,4]
for(let a =0;
a
2.forEach() :
循环数组,无返回值,有作用域
let arrayList = [1,2,3,4]
arrayList.forEach(item=>{ })
forEach循环是for循环的简化版3.filter()循环:
1.在数据长度固定且不需要计算的情况下,for循环的计算效率高于forEach
2.在数据比较复杂,且数组长度不固定的情况下,用forEach则更为好
3.forEach是函数,那么就存在函数作用域,而for循环则不存在函数作用域问题,因此在某些情况下则要自己权衡利弊了
循环数组,有返回值,返回一个新的过滤之后的数组
let arrayList = [1,2,3,4]
let newArray= arrayList.filter(item=>{
returnitem>1
})
console.log(newArray) // [2,3,4]
4.map()循环:
循环数组,返回一个新的数组
let arrayList = [1,2,3,4]1. let newArray= arrayList.map(item=>{
returnitem>1
})2. let newArray1= arrayList.map(item=>{
returnitem+1
})
console.log(newArray) // [false,true,true,true]
console.log(newArray1) //[2,3,4,5]
从这里我们便可以看出map循环和filter循环最大的区别5.some()循环:
filter,不能改变原数组值,只能对原来的数组进行过滤,返回的一个新的数组
map,改变原来数据的值,返回一个新的数组
循环数组,检测到是否有某个值满足条件,有返回值true,否则返回false
let arrayList = [1,2,3,4]
let flag = arrayList.some(item=>{
returnitem >1
})
console.log(flag) // true
6.every() 循环:
循环数组,检测所有值都否都大于某个值。如果是就返回true,否则false
let arrayList = [1,2,3,4]
let flag = arrayList.some(item=>{
returnitem >1
})
console.log(flag) // false
【总结js循环的几种方式及适用场景】some和every的区别7.for...in... :
some循环,检测数据中是否有某个值满足这个条件,如果有,则返回true,如果都不满足否则返回false
every循环,检测数组中是否每个值都满足这个条件,如果都满足,才返回true,否则任何一个不满足,就会返回false
循环对象,无返回值
let obj = {
name:'chen',
age:10,
sex:1
}for(let key in obj){
console.log(key) //nameagesex
console.log(obj[key]) // chen 10 1
}
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量