我需要找出一个用户是否在关联数组中出现多次(然后将相同任务的值相加)。我如何在javaScript中执行此操作?
{
"Items": [
{
"Date": {
"N": "1439883817221"
},
"UserName": {
"S": "user1"
},
"task1": {
"N": "9"
}
},
{
"Date": {
"N": "1439892361108"
},
"task2": {
"N": "3"
},
"UserName": {
"S": "user2"
}
},
{
"Date": {
"N": "1439904242126"
},
"UserName": {
"S": "user1"
},
"task2": {
"N": "2"
}
}
}}
答案 0 :(得分:0)
试试这个:
var uniqueNames = [];
var nonUniqueNames = [];
$.each( list.Items, function(i, item ) {
if(uniqueNames.indexOf(item.UserName.S) != -1 ){
nonUniqueNames.push(item.UserName.S);
} else {
uniqueNames.push(item.UserName.S);
}
});
alert(nonUniqueNames);
https://jsfiddle.net/c2co1hck/
至于相同的任务,你可以找到相同的方法来做到这一点。 请定义相同的任务,因为您有不同的名称和值。
发布您的一些代码也将不胜感激。
顺便说一下,你的JSON中有错误,它应该以 ]}没有}}