技术文摘
前端百题斩: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 基础
- Vue-Router中利用路由元信息管理路由的方法
- JavaScript与WebSocket联手构建高效实时数据采集系统
- Highcharts 实现数据可视化多种效果的方法
- Highcharts创建可缩放图表的方法
- ECharts 中用矩形树图展示数据结构的方法
- Highcharts创建柱状图表的使用方法
- ECharts 中堆叠图展示数据的方法
- Uniapp 路由使用技巧全解析
- Highcharts创建漏斗图表的方法
- ECharts中用桑基玫瑰图展示数据流向及占比变化的方法
- JavaScript 与 WebSocket 助力打造实时在线拍卖系统的方法
- ECharts 中运用极坐标系展示数据的方法
- Highcharts中使用水平线图展示数据的方法
- ECharts 漏斗图:展示数据漏斗变化的方法
- ECharts 中柱状图展示数据的方法