我想遍历一个json对象并对具有相同值的元素在不同数组中进行计数。这是我的目标循环通过json对象并在不同数组中对具有相同值的元素进行计数
var testconn =
{"_total": 3,
"values":
[
{
"articlesRead": [
{ "articleId": 1001 },
{ "articleId": 1002 },
{ "articleId": 1003 },
{ "articleId": 1004 },
{ "articleId": 1005 },
{ "articleId": 1006 }
]
},
{
"articlesRead": [
{ "articleId": 1001 },
{ "articleId": 1002 },
{ "articleId": 2001 },
{ "articleId": 2002 },
{ "articleId": 2003 },
{ "articleId": 2004 }
]
},
{
"articlesRead": [
{ "articleId": 1001 },
{ "articleId": 3001 },
{ "articleId": 3002 },
{ "articleId": 3003 },
{ "articleId": 3004 },
{ "articleId": 3005 }
]
}
]
}
的示例中,我要算ID的数组中有多少exsist。因此,对于这个例子,我有768,16: 1001×3 1002×2 1003 X 1 1004 X 1 2001 X 1 等
我通过我的对象循环这样
for (i = 0; i < testconn.values.length; i++) {
var c = testconn.values[i];
for (j = 0; j < c.articlesRead.length; j++) {
var a = c.articlesRead[j];
for (var key in a) {
if (a[key] is bigger then 1) {
count a[key]
}
return number of
}
}
}
非常好,这就是我一直在寻找的东西(是否需要注意if语句的常规形式?我不是很高级,并且想要了解你做了什么) – pwavg 2012-08-17 14:11:43
不要忘记投票并选择答案 – shi 2012-08-17 14:15:05
我使用三元运算符,它使事情变得更短,它与以下内容相同:if(id [a.articleId]){...} else {...} – shi 2012-08-17 14:31:47