JavaScript遍历数组和对象常用方法总结

简介: 以上代码展示了数组和对象的多种遍历方法。对于数组,使用了传统的 `for` 循环、`for...in` 和 ES6 的 `for...of` 进行遍历;对于对象,则通过 `for...in`、`Object.keys()`、`Object.values()` 和 `Object.entries()` 来获取键值对。`for...of` 循环适用于遍历具有迭代协议的数据结构,如数组、字符串等,而对象遍历则更多地依赖于 `Object` 方法来获取其属性集合。

①数组的遍历:

    this.types = ['单选题', '多选题', '判断题']
    const len = this.types.length
    for (let i = 0; i < len; i++) {
          console.log('index:', i, 'value:', this.types[i]) // i为number类型
    }
    // eslint-disable-next-line prefer-const
    for (let index in this.types) {
          console.log('index:', index, 'value:', this.types[index]) // index为string类型
    }
    // eslint-disable-next-line prefer-const
    for (let item of this.types) { // ES6新增
          console.log('item:', item)
    }
    // for...of 是 ES6 新引入的循环,用于替代 for..in 和 forEach() ,并且支持新的迭代协议。它可用于迭代常规的数据类型,如 Array 、 String 、 Map 和 Set 等等。

②对象的遍历:

    this.types = {
        '单选题':  '1',
        '多选题':  '2',
        '判断题':  '3'
    }
    for (const key in this.types) {
        console.log('key:', key, 'value:', this.types[key])
    }
    for (const key of Object.keys(this.types)) {
        console.log('key:', key, 'value:', this.types[key])
    }
    for (const value of Object.values(this.types)) {
        console.log('value:', value)
    }
    for (const [key, value] of Object.entries(this.types)) {
        console.log(key + ':' + value)
    }
    console.log('Object.keys:', Object.keys(this.types)) // 由对象中所有属性的key组成的数组
    console.log('Object.values:', Object.values(this.types)) // 由对象中所有属性的value组成的数组
    console.log('Object.entries:', Object.entries(this.types)) // 由对象中所有属性的key和value组成的数组

相关文章
|
6天前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
17 2
|
5天前
|
JavaScript 前端开发
JavaScript Math(算数) 对象
JavaScript Math(算数) 对象
13 4
|
4天前
|
Web App开发 JavaScript 前端开发
JavaScript Window - 浏览器对象模型
JavaScript Window - 浏览器对象模型
14 2
|
5天前
|
JavaScript 前端开发
JavaScript RegExp 对象
JavaScript RegExp 对象
16 3
|
5天前
|
JavaScript 前端开发
JavaScript Boolean(布尔) 对象
JavaScript Boolean(布尔) 对象
10 3
|
6天前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
14 3
|
6天前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
13 3
|
8天前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
19 3
|
1天前
|
前端开发 JavaScript 开发者
深入理解JavaScript中的对象与类
深入理解JavaScript中的对象与类
7 0
|
1天前
|
JavaScript 前端开发
如何在JS中声明一个对象
如何在JS中声明一个对象
6 0