我有一个像JavaScript这样的对象:
myobj: "[
{"id":"2027","street":"street name one"},
{"id":"2515","street":"street name two"}
]"
如何获取此对象中的长度和键列表?
我试过了:
var keys = Object.keys(myobj).length;
console.log(keys);
但它总是返回“1”的长度...为什么?
答案 0 :(得分:2)
myobj
看起来像是一个包含2个元素的数组,它们都有2个属性。如果您想要使用myobj[0]
的属性数量:
var myobj = [
{ "id": "2027", "street": "street name one" },
{ "id": "2515", "street": "street name two", "foo": "bar" }
];
console.log(Object.keys(myobj[0]).length); // 2
console.log(Object.keys(myobj[1]).length); // 3
数组上的 Object.keys
将返回与其.length
属性相同的值。
Object.keys([ "foo", "bar", "baz"]); // 3
答案 1 :(得分:0)
我使用eval解决了。
eval('var obj='+myobj);
得到我做的长度:
var keys = Object.keys(obj).length;
console.log(keys);
循环遍历元素:
for (i = 0; i < keys; i++) {
console.log(obj[i].id);
console.log(obj[i].street);
};