JavaScript中数组和对象都有多种遍历方式。

 1. 1.数组遍历方式:
    
    (1for循环
    
    for循环是最基本的遍历数组的方式,它可以根据数组的下标进行遍历。例如:
    
    ```let arr = [1, 2, 3, 4, 5]; for (let i = 0; i < arr.length; i++)
    {   console.log(arr[i]); } ```2)forEach方法
    
    forEach是ES5新增的方法,用于遍历数组中的每一个元素。例如:
    
    ```let arr = [1, 2, 3, 4, 5]; arr.forEach(function(item){  
    console.log(item); }); ```3)map方法
    
    map方法也是ES5新增的方法,它可以遍历数组中的每一个元素,并返回一个新的数组。例如:
    
    ```let arr = [1, 2, 3, 4, 5]; let sumArr = arr.map(function(item){ 
    return item + 1; }); console.log(sumArr); ```
    
    2.对象遍历方式:
    
    (1for-in循环
    
    for-in循环可以遍历对象中的每一个键值对,语法如下:
    
    ```for (const key in object) {   if (object.hasOwnProperty(key)) {
        console.log(object[key]);   } } ```
    
    这里要判断一下是否是对象本身的属性,因为对象原型上的属性也会被遍历。
    
    (2)Object.keys方法
    
    Object.keys方法可以将对象的所有属性名存放在一个数组中,然后对数组进行遍历。例如:
    
    ```let obj = {name: 'Tom', age: 18, gender: 'male'}; let keys =
    Object.keys(obj); for (let i = 0; i < keys.length; i++) {   let key
    = keys[i];   console.log(obj[key]); } ```3)Object.getOwnPropertyNames方法
    
    Object.getOwnPropertyNames方法与Object.keys方法类似,都是获取对象的属性名。但是Object.getOwnPropertyNames方法可以获取到对象中的不可枚举属性名(例如对象的constructor属性)。语法如下:
    
    ```let obj = {name: 'Tom', age: 18}; let keys =
    Object.getOwnPropertyNames(obj); for (let i = 0; i < keys.length;
    i++) {   let key = keys[i];   console.log(obj[key]); } ```
    
    以上是JavaScript中数组和对象遍历的一些常见方式。它们的区别在于:
    
    1.数组一般是按照下标进行遍历,而对象一般是按照键名进行遍历。但是在ES6之后,数组也可以使用for-in遍历,而对象也可以使用for-of遍历。
    
    2.数组的遍历中常用的方法是forEach和map,而对象的遍历中常用的方法是for-in和Object.keys/Object.getOwnPropertyNames。
    
    3.在使用for-in遍历对象时,要注意判断属性的归属。在使用Object.getOwnPropertyNames方法时,可以获取到对象中的不可枚举属性名
    ```
    
    ```
    
    ```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lionliu0519

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值