在JavaScript中遍历对象{"a1":"1","a2":"2"}的取值方法如下,可根据需求选择不同方式:
一、遍历所有自身可枚举属性值(推荐)
1.Object.values()
直接获取所有属性值数组并遍历:
const obj = {"a1":"1","a2":"2"}; Object.values(obj).forEach(value => { console.log(value); // 依次输出 "1", "2" });特点:仅获取值,不关心键名,简洁高效。
2.for...of+Object.values()
for (const value of Object.values(obj)) { console.log(value); }二、遍历键值对(同时获取键和值)
1.Object.entries()
Object.entries(obj).forEach(([key, value]) => { console.log(`${key}: ${value}`); // 输出 "a1: 1", "a2: 2" });特点:返回键值对数组,适合需要同时操作键和值的场景。
2.for...in循环
for (const key in obj) { if (obj.hasOwnProperty(key)) { // 过滤继承属性 console.log(obj[key]); // 输出 "1", "2" } }注意:需配合hasOwnProperty确保只遍历对象自身属性。
三、其他方法
1.Object.keys()+ 遍历
Object.keys(obj).forEach(key => { console.log(obj[key]); // 通过键名间接取值 });2.for...of直接遍历对象(需转换)
普通对象不可直接用for...of,需先转换为可迭代对象:
for (const key of Object.keys(obj)) { console.log(obj[key]); }方法对比
方法 | 输出内容 | 是否需 | 适用场景 |
|---|---|---|---|
| 仅值数组 | 否 | 只需值,快速遍历 |
| 键值对数组 | 否 | 需同时处理键和值 |
| 所有可枚举属性 | 是(推荐) | 兼容旧代码或原型链遍历 |
总结
仅需值:优先用
Object.values()。需键值对:用
Object.entries()。兼容性场景:
for...in循环(注意过滤继承属性)。