【问题标题】:How to count people in JSON file? [closed]如何计算 JSON 文件中的人数? [关闭]
【发布时间】:2015-01-08 07:34:34
【问题描述】:

我有一个包含用户的 json 文件:

[
    {
        "id": 1,
        "username": "Michael",
        "users": [
            {
                "id": 2,
                "like": 0
            },
            {
                "id": 3,
                "like": 1
            },
            {
                "id": 4,
                "like": 0
            },
            {
                "id": 5,
                "like": 1
            }
        ]

    },
    {
        "id": 2,
        "username": "Antony",
        "users": [
            {
                "id": 1,
                "like": 0
            },
            {
                "id": 3,
                "like": 1
            },
            {
                "id": 4,
                "like": 0
            },
            {
                "id": 5,
                "like": 1
            }
        ]

    },
...

我需要统计所有喜欢的用户,所以在这之后我需要一个这样的数组:

userWithlikes[0] = 2,

userWithlikes[1] = 2,

userWithlikes[2] = 3, ...

我可以计算我有多少用户: var allUsers = thumbsUp_data.length;

“thumbsUp_data”中 JSON 文件中的所有数据。

求助,我如何统计所有用户并显示一个数据数组的点赞数?

【问题讨论】:

  • 您是否尝试过遇到问题?

标签: javascript jquery json


【解决方案1】:

您应该可以使用Array.map() 和Array.filter() 轻松完成此操作。这是一个例子

var users = [
    {
        "id": 1,
        "username": "Michael",
        "users": [
            {
                "id": 2,
                "like": 1
            },
            {
                "id": 3,
                "like": 1
            },
            {
                "id": 4,
                "like": 0
            },
            {
                "id": 5,
                "like": 1
            }
        ]
    },
    {
        "id": 2,
        "username": "Antony",
        "users": [
            {
                "id": 1,
                "like": 0
            },
            {
                "id": 3,
                "like": 1
            },
            {
                "id": 4,
                "like": 0
            },
            {
                "id": 5,
                "like": 1
            }
        ]
    }
];

var usersWithLikes = users.map(function(user) {
    return user.users.filter(function(value) {
        return value.like === 1;    
    }).length;
});

console.log(usersWithLikes);

【讨论】:

  • 天啊,非常感谢!
猜你喜欢
  • 2011-03-09
  • 1970-01-01
  • 2013-05-16
  • 2017-02-16
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
  • 1970-01-01
相关资源
最近更新 更多