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