var p = "p1": "value1", "p2": "value2", "p3": "value3"};3 k* A. x; d$ a) T
现在我想遍历一切p元素(p1,p2,p3…)并获得它们的键和值。我怎样才能做到这一点?- f& A$ k; P4 d) u: @
如有必要,我可以修改 JavaScript 对象。我的最终目标是遍历一些键值对,如果可能的话,我想避免使用eval. : k. h2 H6 U* O C # L* o. |/ k4 C/ t 解决方案: C' Z& W/ s( Y' k 您可以使用for-in其他人所示的循环。但是,你必须确保你得到的密钥是物体的实际属性,而不是原型。- s* H- Q; t# Z/ R9 N! Z1 r 这是片段: 1 k* ^5 {: u2 {& E. G" ?# h
var p = "p1": "value1", "p2": "value2", "p3": "value3"};for (var key in p) if (p.hasOwnProperty(key)) console.log(key " -> " p[key]); }} . \0 M, @. m2 c* J3 C$ }
使用 Object.keys() 替代方案:7 n) Z$ K, L7 T3 l4 k) c
var p = 0: "value1", "b": "value2", key: "value3"};for (var key of Object.keys(p)) console.log(key " -> " p[key])} % M, q3 A1 D3 i