技术文摘
前端百题斩:JS 中 9 种遍历对象的方式
2024-12-31 05:54:46 小编
前端百题斩:JS 中 9 种遍历对象的方式
在 JavaScript 中,对象是一种非常重要的数据结构。熟练掌握各种遍历对象的方式对于开发者来说至关重要。以下将详细介绍 9 种常见的遍历对象的方式。
for...in循环for...in循环会遍历对象自身的和继承的可枚举属性。需要注意的是,它遍历的是属性名而不是属性值。
const obj = {a: 1, b: 2, c: 3};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key + ": " + obj[key]);
}
}
Object.keys()方法Object.keys()方法返回一个包含对象自身可枚举属性名称的数组。
const obj = {x: 10, y: 20, z: 30};
const keys = Object.keys(obj);
keys.forEach(key => {
console.log(key + ": " + obj[key]);
});
Object.values()方法Object.values()方法返回一个包含对象自身可枚举属性值的数组。
const obj = {name: 'John', age: 30};
const values = Object.values(obj);
values.forEach(value => {
console.log(value);
});
Object.entries()方法Object.entries()方法返回一个包含对象自身可枚举属性的键值对数组。
const obj = {fruit: 'apple', vegetable: 'carrot'};
for (const [key, value] of Object.entries(obj)) {
console.log(key + ": " + value);
}
Reflect.ownKeys()方法Reflect.ownKeys()方法返回一个包含对象自身所有属性(包括不可枚举属性)的数组。
const obj = Object.create({}, {
hiddenProperty: {
value: 'hidden',
enumerable: false
}
});
const keys = Reflect.ownKeys(obj);
console.log(keys);
JSON.stringify()与解析 通过将对象转换为 JSON 字符串,然后解析字符串来获取属性。
const obj = {city: 'New York', country: 'USA'};
const jsonStr = JSON.stringify(obj);
const parsedObj = JSON.parse(jsonStr);
for (const key in parsedObj) {
console.log(key + ": " + parsedObj[key]);
}
while循环与hasOwnProperty()方法
let key = 0;
const obj = {num1: 100, num2: 200};
while (key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key + ": " + obj[key]);
}
key++;
}
- 使用
for...of与entries()
const obj = {book: 'JavaScript', author: 'John Doe'};
for (const [key, value] of Object.entries(obj)) {
console.log(`${key}: ${value}`);
}
- 借助
Object.getOwnPropertyNames()方法
const obj = {property1: 1, property2: 2};
const names = Object.getOwnPropertyNames(obj);
names.forEach(name => {
console.log(name + ": " + obj[name]);
});
掌握这些遍历对象的方式,能够让我们在处理对象数据时更加得心应手,提高开发效率和代码质量。
TAGS: 前端开发 技术分享 代码优化 JavaScript 基础
- Win11 目视控制的开启方式
- Win11 图片打开方式的设置方法
- Win11 单独设置耳机音量的操作指南
- Win11 开启运行窗口的三种方式
- 未收到升级推送怎样体验 Win11?自行安装 Win11 系统的办法
- Win11 磁盘管理无法打开的解决之道
- Win11 更新重启黑屏的等待时长及解决办法
- Win11 沙盒安装受阻?原因分析与解决之道
- Win11 开机桌面假死但鼠标能动的解决之道
- Win11 中 cmd 如何进入 D 盘?Win11 系统下 cmd 切换至 D 盘的办法
- Win11 系统 WiFi 总掉线的应对之策
- Win11 动态刷新率的含义及开启方式
- Win11 更新后键盘失灵的解决之道
- Win11 状态栏透明设置方法
- Win11 无线显示器搜索方法及步骤