如何使用JavaScript遍历对象

一、使用 for-in 循环——简单直接,快速上手

for-in 循环是最基础也是最常用的对象遍历方法。它语法简单,适合初学者快速掌握
const user = {
  name: 'Alice',
  age: 25,
  job: 'Engineer'
};

for (const key in user) {
  const value = user[key];
  console.log(`${key}: ${value}`);
}
创建了一个用户对象 user,通过 for-in 循环遍历每一个属性,并打印出键和值。输出结果如下:
name: Alice
age: 25
job: Engineer
这种方法非常直观,但需要注意的是,它会遍历对象的所有可枚举属性,包括原型链上的属性

二、使用 Object.entries 和 forEach——优雅简洁,提升代码可读性

Object.entries 方法可以将对象转换成一个包含键值对的二维数组,结合 forEach 方法,可以更加优雅地遍历对象。
const product = {
  id: 101,
  name: 'Laptop',
  price: 799
};

Object.entries(product).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});
Object.entries(product) 返回[['id', 101], ['name', 'Laptop'], ['price', 799]] 这样的二维数组,接着我们使用 forEach 遍历数组中的每一个键值对,输出结果如下
id: 101
name: Laptop
price: 799

三、使用 for-of 循环——语法简洁,增强可读性

for-of 循环结合 Object.entries,可以使遍历对象的代码更加简洁明了。
const order = {
  orderId: 'A123',
  productName: 'Phone',
  quantity: 2
};

for (const [key, value] of Object.entries(order)) {
  console.log(`${key}: ${value}`);
}
同样,Object.entries(order) 返回一个包含键值对的二维数组for-of 循环则可以直接遍历这个数组中的每一个元素,输出结果如下:
orderId: A123
productName: Phone
quantity: 2
### 遍历对象的方法 在 Vue 3 中使用 JavaScript 遍历对象时,可以采用多种方法来访问对象的键值对。以下是一些常见的遍历方式: #### 使用 `for...in` 循环 通过 `for...in` 循环可以迭代对象的所有可枚举属性,这种方式会遍历包括原型链上的属性[^1]。 ```javascript const person = { name: 'Alice', age: 25, gender: 'female' }; for (const key in person) { if (person.hasOwnProperty(key)) { console.log(`键 ${key} 对应的值为:`, person[key]); } } ``` #### 使用 `Object.keys()` 方法 此方法返回一个由给定对象自身可枚举属性组成的数组,然后可以使用数组的 `.forEach()` 或其他数组方法进行处理。 ```javascript const person = { name: 'Alice', age: 25, gender: 'female' }; Object.keys(person).forEach((key) => { console.log(`键 ${key} 对应的值为:`, person[key]); }); ``` #### 使用 `Object.entries()` 方法 该方法返回一个给定对象自身可枚举属性的键值对数组。它可以与 `for...of` 循环结合使用以同时获取键和值。 ```javascript const person = { name: 'Alice', age: 25, gender: 'female' }; for (const [key, value] of Object.entries(person)) { console.log(`键 ${key} 对应的值为:`, value); } ``` #### 使用 `Reflect.ownKeys()` 方法 此方法返回一个包含目标对象自身的所有属性(包括不可枚举属性)的数组。 ```javascript const person = { name: 'Alice', age: 25, gender: 'female' }; Reflect.ownKeys(person).forEach((key) => { console.log(`键 ${key} 对应的值为:`, person[key]); }); ``` #### 使用 `Object.getOwnPropertyNames()` 方法 这个方法返回一个非继承的、所有自身属性的名称数组,无论这些属性是否是可枚举的。 ```javascript const person = { name: 'Alice', age: 25, gender: 'female' }; Object.getOwnPropertyNames(person).forEach((key) => { console.log(`键 ${key} 对应的值为:`, person[key]); }); ``` 以上就是在 Vue 3 中使用 JavaScript 遍历对象的一些常用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值