如何在不知道关键字的情况下访问javascript对象值

How to access a javascript object value without knowing the key

本文关键字:访问 javascript 对象 情况下 不知道 关键字      更新时间:2023-09-26

可能重复:
如何枚举javascript对象的属性?

如果我有一个像这样的javascript对象:

data = {
    a : 2,
    b : 3
}

但是a和b是任意的并且在运行时决定。有什么办法穿过这个物体吗并在不知道密钥的情况下访问所有属性?

data = {
    a : 2,
    b : 3
}
for(var propName in data) {
    if(data.hasOwnProperty(propName)) {
        var propValue = data[propName];
        // do something with each element here
    }
}

首先,这不是JS中通常所说的Array,它通常被称为ObjectArray只包含值,即

arr = [1, 2, 3, 4]

Object s("关联数组")关联名称:值对。

要迭代Object的值,请使用for...in

var object = { a: 'hello' }
for (var key in object) {
  if (object.hasOwnProperty(key)) {
    alert(key); // 'a'
    alert(object[key]); // 'hello'
  }
}   

hasOwnProperty非常重要,可以确保您只查看实际对象,而不查看属于原型的属性。