我试图从数组获取长度,但它工作异常。这是我的目标,
console.log(user.ownAccount.length);
我希望获得ownAccount的长度,我通过记录来测试,
{{1}}
显示 64 !!!,它没有显示 2 。 我不明白我做错了什么。
感谢您的帮助。
答案 0 :(得分:2)
它不是一个数组,你需要先解析它才能得到一个数组:
var ownAc=JSON.parse(user.ownAccount)
console.log(ownAc.length);
答案 1 :(得分:1)
使用简单方法Object.keys(obj)
,引用https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
在您的情况下,答案是Object.keys(user.ownAccount).length
var user = {
"username":"testuser update",
"email":"user001@mail.co.th",
"name":"user001",
"ownAccount":[
{"id":2,"name":"Demo Account2"},
{"id":1,"name":"Demo Account"}
]
};
console.log(Object.keys(user.ownAccount).length);
alert(Object.keys(user.ownAccount).length);
答案 2 :(得分:0)
array
定义为string
,您应该删除双引号。
换句话说,将"[
替换为[
,将]"
替换为]
。
答案 3 :(得分:0)
<强>&#34; [强> {&#34; id&#34;:2,&#34; name&#34;:&#34; Demo Account2&#34;}, {&#34; id&#34;:1,&#34; name&#34;:&#34;模拟账户&#34;} 的]&#34; 强>
试试这段代码
[
{"id":2,"name":"Demo Account2"},
{"id":1,"name":"Demo Account"}
]
使用您的json数据
尝试此代码var user = {
"username":"testuser update",
"email":"user001@mail.co.th",
"name":"user001",
"ownAccount":"[
{"id":2,"name":"Demo Account2"},
{"id":1,"name":"Demo Account"}
]"
}
user.ownAccount = JSON.parse(user.ownAccount)
console.log(user.ownAccount.length);
答案 4 :(得分:-1)
试试这个:
var user = {
username:"testuser update",
email:"user001@mail.co.th",
name:"user001",
ownAccount:[
{id:2,name:"Demo Account2"},
{id:1,name:"Demo Account"}
]
}