访问Javascript对象键
我最难弄明白如何做到这一点(似乎很简单) 我有一个Javascript对象,如下所示 console.log的输出(数据): 我正在尝试访问不同的键值对 当我尝试预期的方法时,我得到了未定义的结果 我试过:访问Javascript对象键,javascript,javascript-objects,Javascript,Javascript Objects,我最难弄明白如何做到这一点(似乎很简单) 我有一个Javascript对象,如下所示 console.log的输出(数据): 我正在尝试访问不同的键值对 当我尝试预期的方法时,我得到了未定义的结果 我试过: var pubKey = "pubKey"; data.pubKey data[pubkey]; data["pubKey"]; 我知道我在这里遗漏了一些非常明显的东西。您可以使用Object.keys和foreach循环来访问对象上的属性 var data={“preveexists”
var pubKey = "pubKey";
data.pubKey
data[pubkey];
data["pubKey"];
我知道我在这里遗漏了一些非常明显的东西。您可以使用
Object.keys
和foreach
循环来访问对象上的属性
var data={“preveexists”:false,“key”:“b5”,“ID”:“5f1”};
Object.keys(数据).forEach(函数(键){
log('key-'+key+'::value-'+data[key]);
});
您可以使用Object.keys
和foreach
循环访问对象上的属性
var data={“preveexists”:false,“key”:“b5”,“ID”:“5f1”};
Object.keys(数据).forEach(函数(键){
log('key-'+key+'::value-'+data[key]);
});代码>首先,您需要创建对对象的引用。像这样:
var myObj = { "prevExists": false, "key": "b5", "ID": "5f1" };
然后,可以使用元素的键访问元素:
console.log(myObj["prevExists"]);
控制台出口:
false
祝你好运 首先需要创建对象的引用。像这样:
var myObj = { "prevExists": false, "key": "b5", "ID": "5f1" };
然后,可以使用元素的键访问元素:
console.log(myObj["prevExists"]);
控制台出口:
false
祝你好运 使用Object.keys
方法
var data={“preveexists”:false,“pubKey”:“b5”,“ID”:“5f1”}
console.log(Object.keys(数据))
使用Object.keys
方法
var data={“preveexists”:false,“pubKey”:“b5”,“ID”:“5f1”}
console.log(Object.keys(数据))代码>根据您所谈论的键,您有几种访问键的方法
在您的示例中,其中任何一个都可以:
var data = {
"prevExists":false,
"pubKey":"b5",
"ID":"5f1"
};
// Access all keys of enumerable string-keyed properties
Object.keys(data).forEach((key) => console.log(key,data[key]));
// Access all keys of enumerable and non-enumerable string-keyed properties
Object.getOwnPropertyNames(data).forEach((key) => console.log(key,data[key]));
// Access all keys of enumerable string-keyed properties of your object, its prototype, and all the prototype chain...
for (let key in data)
console.log(key,data[key]);
如果你想更好地理解对象的属性,你可以看看我在这个主题上写的。你有几种访问键的方法,这取决于你所说的键
在您的示例中,其中任何一个都可以:
var data = {
"prevExists":false,
"pubKey":"b5",
"ID":"5f1"
};
// Access all keys of enumerable string-keyed properties
Object.keys(data).forEach((key) => console.log(key,data[key]));
// Access all keys of enumerable and non-enumerable string-keyed properties
Object.getOwnPropertyNames(data).forEach((key) => console.log(key,data[key]));
// Access all keys of enumerable string-keyed properties of your object, its prototype, and all the prototype chain...
for (let key in data)
console.log(key,data[key]);
如果您想更好地理解对象的属性,可以看看我在这个主题上写的内容。您将自己与var pubKey=“pubKey”一行混淆了。
有两种方法可以访问对象参数:
const data = {"prevExists":false,"pubKey":"b5","ID":"5f1"};
// var pubKey = "pubKey"; This line is not needed
1) data.pubKey
如果使用点运算符(.),则使用键名引用它
2) 数据[“公开密钥”]
如果使用括号([]),则使用与键匹配的字符串
如果添加行:
const pubKey = "pubKey";
,那么data[pubKey]也会起作用,因为它的计算结果是data[“pubKey”]您将自己与var pubKey=“pubKey”行混淆了。
有两种方法可以访问对象参数:
const data = {"prevExists":false,"pubKey":"b5","ID":"5f1"};
// var pubKey = "pubKey"; This line is not needed
1) data.pubKey
如果使用点运算符(.),则使用键名引用它
2) 数据[“公开密钥”]
如果使用括号([]),则使用与键匹配的字符串
如果添加行:
const pubKey = "pubKey";
,那么data[pubKey]也会起作用,因为它的计算结果是data[“pubKey”]对不起,我修正了输入错误。您能告诉我们如何定义数据吗?这三个都应该是有效的。很抱歉,我修正了输入错误。你能告诉我们你是如何定义数据的吗?所有3个都应该确实有效。我建议您将myArray
更改为data
,因为它肯定不是数组;)哦,当然!非常感谢。我建议您将myArray
更改为data
,因为它绝对不是数组;)哦,当然!非常感谢。正确,这会起作用,就像其他方法一样。我建议您指定此方法访问对象的哪些属性。正确,这将与其他方法一样有效。我建议您指定此方法访问对象的哪些属性。