JS中各种for循环
1. for 循环
var arr = [1,2,3]; for(var i = 0; i < arr.length; i++) { console.log(i +'-'+ arr[i]); } // 0-1 // 1-2 // 2-3
2. forEach 遍历
遍历数组 列出数组的每个元素
forEach没有返回值,forEach适合于你并不打算改变数据的时候
forEach 不能使用break语句中断循环,也不能使用return语句返回到外层函数。
var arr = [1,2,3]; var brr = arr.forEach(function(item,index) { return item * 2; }) console.log(arr); console.log(brr); // [1, 2, 3] // undefined
3. map 遍历
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 不会改变原始数组
var arr = [1,2,3]; var brr = arr.map(function(item,index) { return item * 2; }) console.log(arr); console.log(brr); // [1, 2, 3] // [2, 4, 6]
4. for in 循环
使用for…in循环时,返回的是所有能够通过对象访问的、可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例。
for in循环属性遍历的顺序是按照下面的顺序排列
- 首先遍历所有数值键,按照数值升序排列。
- 其次遍历所有字符串键,按照加入时间升序排列。
- 最后遍历所有 Symbol 键,按照加入时间升序排列。
var obj = { name: "Lihua", age: 18, address: "上海", } for ( var key in obj ) { console.log(key +'-'+ obj[key]); } // name-Lihua // age-18 // address-上海
5. for of 循环
for of 循环也可以遍历对象,它主要用来获取对象的属性值(键值),而for…in主要获取对象的属性名(键)
- 对于普通对象,没有部署原生的 iterator 接口,直接使用 for…of 会报错
var obj = { 'name': 'Lihua', 'age': 18 } for(let key of obj) { console.log('for of obj', key) } // Uncaught TypeError: obj is not iterable
- 可以使用 Object.keys(obj) 方法将对象的键名生成一个数组,然后遍历这个数组
for(let key of Object.keys(obj)) { console.log('key', key) } /* key name key age */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!