我的编程笔记
  • 云胡的编程笔记
  • 后端
    • Spring Boot 配置 MySQL 数据库
    • MyBatis-Plus 实现增删改查操作
    • Java 后端将上传的 csv 文件转为 Excel xlsx 文件
  • JavaScript
    • JavaScript 三种循环方法
    • JavaScript 箭头函数
    • JavaScript 高阶函数
    • JavaScript 变量作用域
    • JavaScript 操作 DOM
  • Vue3
    • Vue3 搭配 Element-Plus
    • Vue3 实现路由跳转
    • Vue3 上传 Excel 文件
  • Cpp
    • C++ Vector 易错点
  • Qt
    • Qt 实时显示鼠标位置
  • Python
  • 编辑器
    • Visual Studio Code 使用
  • 其他
    • 网站和软件推荐
  • 数据结构与算法
由 GitBook 提供支持
在本页
  • 一、for in
  • 二、for of
  • 三、for each 方法
在GitHub上编辑
  1. JavaScript

JavaScript 三种循环方法

一、for in

for in 遍历的是对象的属性名称,一个 array 数组的索引被视为属性,因此输出索引。

var a = ['A', 'B', 'C'];

for (var x in a) {
    console.log(x); // output: '0' '1' '2'
}

a.name = 'Hello';
for (var x in a) {
    console.log(x); // output: '0', '1', '2', 'name'
}

二、for of

for of 遍历的是集合里面的元素。

var a = ['A', 'B', 'C'];

for (var x of a) {
    console.log(x); // output: 'A' 'B' 'C'
}

三、for each 方法

3.1 数组的 for each 方法

var a = ['A', 'B', 'C'];

/**
 * 遍历数组
 * element: 指向当前元素的值
 * index: 指向当前索引
 * array: 指向 Array 对象本身
 */
a.forEach(function (element, index, array) {
    console.log('index = ' + index + ' value = ' + element);
});

输出:

index = 0 value = A

index = 1 value = B

index = 2 value = C

也可以省略不需要的参数,只输出元素的值。

var a = ['A', 'B', 'C'];
a.forEach(function (element) {
    console.log(element); // output: 'A' 'B' 'C'
});

3.2 Set 集合的 for each 方法

由于集合本身是无序的,所以 element 和 sameElement 输出的是同样的元素。

var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
    console.log(element);     // A B C
    console.log(sameElement); // A B C 
});

3.3 Map 的 for each 方法

Map 的回调函数第一个参数是值,第二个参数是键,第三个参数是 Map 本身。

var m = new Map([[233, 'x'], [0.618, 'y'], ["yunhu", 'z']]);
m.forEach(function (value, key, map) {
    console.log('key = ' + key + ' value = ' + value);
});

输出:

key = 233 value = x

key = 0.618 value = y

key = yunhu value = z

上一页JavaScript下一页JavaScript 箭头函数

最后更新于3年前