JS的15种遍历循环方式_全面解析JavaScript循环遍历方法

2025-04-25 12

Image

在JavaScript中,有多种方式可以遍历数组或对象。以下是15种常见的遍历循环方式:

数组遍历

  1. for 循环

    for (let i = 0; i < array.length; i++) {
        console.log(array[i]);
    }
    

  2. for...of 循环

    for (let value of array) {
        console.log(value);
    }
    

  3. forEach 方法

    array.forEach((value, index) => {
        console.log(value, index);
    });
    

  4. map 方法(虽然主要用于转换数组,但也可以用于遍历)

    array.map((value, index) => {
        console.log(value, index);
        return value; // map 需要返回值
    });
    

  5. for...in 循环(不推荐用于数组,但技术上可行)

    for (let index in array) {
        console.log(array[index]);
    }
    

  6. while 循环

    let i = 0;
    while (i < array.length) {
        console.log(array[i]);
        i++;
    }
    

  7. do...while 循环

    let i = 0;
    do {
        console.log(array[i]);
        i++;
    } while (i < array.length);
    

  8. reduce 方法(通过累加器进行遍历,通常用于计算)

    array.reduce((accumulator, value, index) => {
        console.log(value, index);
        return accumulator; // reduce 需要返回值
    }, 0);
    

  9. entries 方法结合 for...of

    for (let [index, value] of array.entries()) {
        console.log(index, value);
    }
    

  10. keys 方法结合 for...of(只遍历索引)

    for (let index of array.keys()) {
        console.log(index, array[index]);
    }
    

  11. values 方法结合 for...of(只遍历值)

    for (let value of array.values()) {
        console.log(value);
    }
    

对象遍历

  1. for...in 循环(用于对象)

    for (let key in object) {
        if (object.hasOwnProperty(key)) {
            console.log(key, object[key]);
        }
    }
    

  2. Object.keys 方法结合 forEach

    Object.keys(object).forEach(key => {
        console.log(key, object[key]);
    });
    

  3. Object.values 方法结合 forEach

    Object.values(object).forEach(value => {
        console.log(value);
    });
    

  4. Object.entries 方法结合 for...of

    for (let [key, value] of Object.entries(object)) {
        console.log(key, value);
    }
    

这些方法各有其适用场景和优缺点,选择合适的遍历方式可以提高代码的可读性和性能。

(本文来源:https://www.nzw6.com)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关