循环数组的方法及区别

1. forEach
  • 不能使用return中止循环
    var arr=[1,3,2,4];
    arr.forEach((item,index)=>{
        console.log(item);//1 3 2 4,每一项都打印出来了
        return;
    })
  • 使用break中止循环会报错
    var arr=[1,3,2,4];
    arr.forEach((item,index)=>{
        console.log(item);
        break;//报错
    })
2.map

map同forEach,但是map可以使用return,改变每一项的值,forEach则没有返回值

    var arr = [1, 3, 2, 4];
    var newArr = arr.map((item, index) => {
        return item*2;
    })
    console.log(newArr);
    //[2, 6, 4, 8],
    不仅有返回值,还可以进行计算
    var arr = [1, 3, 2, 4];
    var newArr = arr.forEach((item, index) => {
        return item;
    })
    console.log(newArr);//undefined,返回值
3.for in

可以使用break中断循环,使用方法跟对象的循环一样

    var arr = [1, 3, 2, 4];
    for (var k in arr) {
        console.log(k, arr[k]); // 0 1
            break
    }
4.for of
  • 可以循环数组和字符串,但是不能循环对象(因为对象,没有索引和长度,不具有迭代的特征)
  • 可以使用break中断循环
    var arr = [1, 3, 5, 4];
    for (var k of arr) {//of后传数组,k代指循环索引
        console.log(k);//0 3 5
        if (k == 5) {//循环到5那项后,停止循环
            break;
        }
    }
    var arr = [1, 3, 5, 4];
    for (var k of arr.keys()) {//of后传数组,k代指循环索引
        console.log(k);//0 1 2
        if (k == 2) {//索引为2时,停止循环
            break;
        }
    }

entries(),把每一项和对应的索引放入一个数组中

    var arr = [1, 3, 5, 4];
    for (var k of arr.entries()) {//of后传数组,k代指循环索引
        console.log(k);// [0, 1] 
        break;//停止循环,只打印一项键值对
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中的数组和对象是两种不同的数据类型,它们在具体的数据存储和使用方式上都有着明显的差异。因此,在遍历这两种类型的数据时,对应的方法也是不同的。下面简单介绍一下它们的区别数组是一种有序的数据集合,其中每个元素都有一个数字索引,从0开始计数。JavaScript提供了多种遍历数组方法,包括for循环、forEach、map等。其中最常用的是for循环,具体使用方式如下: ``` let arr = ['a', 'b', 'c', 'd']; for(let i = 0; i < arr.length; i++){ console.log(arr[i]); } ``` 这段代码就是最基本的遍历数组方法,通过循环每一个索引,来获取对应的元素,然后进行操作。 而对象则是一种无序的键值对集合,其中每个键值对就是一个属性和一个对应的值。使用对象时,最常用的遍历方法是for...in循环,具体使用方式如下: ``` let obj = {a: 1, b: 2, c: 3}; for(let key in obj){ console.log(key + ': ' + obj[key]); } ``` 这段代码就是遍历对象的最基本方式,通过循环对象的每一个属性,来获取对应的值,然后进行操作。 需要注意的是,在对象的遍历中,我们一般使用for...in循环来遍历对象的属性,需要注意的是,在使用for...in循环时,枚举顺序是不确定的,因此需要特别注意循环内部的顺序问题。 综上,数组和对象的遍历方法有明显的区别。在使用时,需要分别根据数据类型采用对应的方法,才能够获得最好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值