foreach、for in和for of之间区别?

简介: foreach、for in和for of之间区别?

foreach、for in和for of都是用于循环遍历数组或对象的方法,但它们之间有一些区别。

1. foreach:是数组的原生方法,可以遍历数组中的每个元素,但是无法中途中断循环或者跳出循环。它只接受一个回调函数作为参数,参数为当前元素、索引和数组本身。

例子:

const arr = [1, 2, 3];
arr.forEach((element, index, array) => {
  console.log(element, index, array);
});

2. for in:是一个用于遍历对象属性的循环语句,可以遍历对象的可枚举属性(包括继承的属性)。它遍历的是对象的键名,而不是键值。可以用来遍历数组,但是不推荐使用,因为数组也是对象,它会遍历数组的索引。

例子:

const obj = { a: 1, b: 2, c: 3 };
for (let key in obj) {
  console.log(key, obj[key]);
}
 

3. for of:是ES6新增的循环语句,用于遍历可迭代对象(包括数组、字符串、Set、Map等)。它遍历的是对象的键值,而不是键名。与for in不同,for of无法遍历对象的属性,只能遍历对象的值。

例子:

const arr = [1, 2, 3];
for (let element of arr) {
  console.log(element);
}
相关文章
|
JavaScript 前端开发 编译器
看完这篇文章,不再害怕Vue3的源码(一)
看完这篇文章,不再害怕Vue3的源码
|
前端开发 JavaScript
CSS实现禁用状态,样式设置以及不可点击事件的行为
CSS实现禁用状态,样式设置以及不可点击事件的行为
4006 0
|
JSON JavaScript 前端开发
Echarts高级进阶教程(2):appendData异步加载大数据量分片加载数据和增量渲染的解决方案
Echarts高级进阶教程(2):appendData异步加载大数据量分片加载数据和增量渲染的解决方案
1781 0
|
JSON Unix 开发工具
【HarmonyOS】时间处理Dayjs
在项目中经常会使用要时间的格式转换,比如数据库返回一个Date数据,你需要转成2024-10-2的格式,鸿蒙的原生SDK中是没有办法实现的,因此,在这里介绍第三方封装好并且成熟使用的库Dayjs。
377 5
【HarmonyOS】时间处理Dayjs
|
JavaScript API 索引
js中的reduce()方法 讲解 和实现
`reduce()` 方法对数组元素依次应用一个回调函数,将结果累计并最终返回单一值。语法为 `reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)`。参数包括累计器(初次为初始值或首元素)、当前元素值、索引及数组自身。此方法需返回值供下一轮迭代使用。常见应用场景包括计算数组总和与平均值、统计元素频率、过滤与转换数组内容及去除重复项等。例如,可通过 `reduce()` 快速计算 `[1, 2, 3, 4, 5]` 的总和或对对象属性值求和。此外,还可自定义实现 `reduce()` 方法
7320 1
|
JavaScript 前端开发 索引
js的循环中foreach、for in和for of的区别
js的循环中foreach、for in和for of的区别
574 0
|
开发框架 JavaScript 开发者
什么是渐进式框架
什么是渐进式框架
658 0
|
JavaScript 网络架构
路由传参及跳转方式
路由传参及跳转方式
|
存储
el-tree 动态指定默认选中节点
el-tree 动态指定默认选中节点
1392 6
|
JavaScript
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
1627 0

热门文章

最新文章