通过键访问JavaScript对象

通过键访问JavaScript对象,javascript,Javascript,我有一个名为data的JavaScript对象。我使用以下代码对对象中的键进行排序: var index = []; // build the index for (var x in data) { index.push(x); } // sort the index index.sort(function (a, b) { return a == b ? 0 : (a > b ? 1 : -1); }); 然后,我希望通过以下方式访问特定索引键的值: for (va

我有一个名为data的JavaScript对象。我使用以下代码对对象中的键进行排序:

var index = [];

// build the index
for (var x in data) {
    index.push(x);
}

// sort the index
index.sort(function (a, b) {
    return a == b ? 0 : (a > b ? 1 : -1);
});
然后,我希望通过以下方式访问特定索引键的值:

for (var i=0; i<index.length; i++) {
    var key = index[i];
    document.getElementById(key).value = data.key;
}
for(var i=0;i

Object.keys(data)[key] ?
如果不显示数据结构,则不确定它是否有效

编辑:这种方法根据数字索引(0,1…,n)而不是名称检索对象键。

如何

Object.keys(data)[key] ?
如果不显示数据结构,则不确定它是否有效

编辑:这种方式根据数字索引(0,1…,n)而不是名称检索对象键。

更改为

document.getElementById(key).value = data[key];
如果要访问的键存储在变量中,则必须使用括号表示法。在代码中,JavaScript将搜索名为“key”的键,因此失败

例如:

var key = 'test';

console.log( data.key );  // yields content of data.key
console.log( data[key] ); // yields content of data.test
改为

document.getElementById(key).value = data[key];
如果要访问的键存储在变量中,则必须使用括号表示法。在代码中,JavaScript将搜索名为“key”的键,因此失败

例如:

var key = 'test';

console.log( data.key );  // yields content of data.key
console.log( data[key] ); // yields content of data.test

我已经从你的问题中删去了“JSON”一词。JSON意味着一个字符串:如果你能用
for()
构造循环它,它就不能是字符串。我已经从你的问题中删去了“JSON”一词。JSON意味着一个字符串:如果你能用
for()构造循环它
construct,它不能是字符串。要澄清的是:
document
对象是DOM的一部分,因此它用于操作HTML文档,而不是JavaScript对象。要澄清的是:
document
对象是DOM的一部分,因此它用于操作HTML文档,而不是JavaScript对象。