我有这个json:
var myjson = [
{"ID":1, "FullName":"Breese Dantour"},
{"ID":2, "FullName":"Danny Xirjav"},
{"ID":3, "FullName":"Ben Falco"}
]
我试图使用数组通过键来捕获它:
var mykey = new array();
mykey.push("ID");
mykey.push("FullName");
var res = "";
for (var i = 0; i < myjson.length; i++) {
var inner;
for (var c=0; c < mykey.length; c++){
inner = inner + "<td>" + myjson[i].mykey[c] + "</td>";
}
res = res + "<tr>" + inner + "</tr>\n";
}
alert(res);
我得到了这个错误:
Error: TypeError: myjson[i].mykey is undefined
我知道发生这种情况是因为mykey
这不是的关键myjson
。但我希望mykey
返回它的值,以便将其作为myjson
键。
还有其他方法吗?
替换myjson[i].mykey[c]
为myjson[i][mykey[c]]
之所以起作用,是因为dot运算符(.
)的优先级高于,[]
因此前一个表达式的计算方式是(myjson[i].mykey)[c]
给您的,undefined
因为myjson[i]
它不具有属性mykey
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句