技术文摘
前端百题斩: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 基础
- MediaCreationToolW11 创建安装介质的使用方法
- Win11 新电脑分盘指南
- Win11 驱动的安装方法
- Win11 显卡驱动安装失败的解决之道
- Win11 显示文件扩展名的方法
- Win11 中 D 盘无法显示的解决之道
- Win11 专业版与专业工作站版的差异在哪?
- Win10 升级至 Win11 系统后无法进入系统的解决办法
- 解决 Win11 文件管理器卡顿反应慢的方法汇总
- Win11 正式版安装安卓 app 的步骤
- Win10 更新至 Win11 是否清除数据的详细解析
- Win11 系统日志的查看方法
- 无需 Hello PIN 或密码如何登录 Windows 11
- Win11 应用商店加载空白的解决之道
- Win11 中如何让任务栏时钟在所有显示器显示