【发布时间】:2020-11-16 07:47:37
【问题描述】:
我有一组用户对象,其中一些出现多次。我正在尝试计算每个唯一用户对象在数组中出现的次数,并对它们重新排序,以使出现频率最高的用户在数组中排在第一位,而在数组中出现最少的用户在数组中显示在最后。
const users =
[
{id: "0f933bbd-d1fb-4ad5-80f0-661c3c0aa2f8", handle: "lisa", email: "lisa@gmail.com", createdAt: 1593894321997},
{id: "bbfc927c-f3d4-4cdd-b872-9cb233a194aa", handle: "jisoo", email: "jisoo@gmail.com", createdAt: 1592452421714},
{id: "be942039-6a59-46a4-9f92-1f7808b20c2f", handle: "unnieJennie", email: "jennie@gmail.com", createdAt: 1593894227232},
{id: "0f933bbd-d1fb-4ad5-80f0-661c3c0aa2f8", handle: "lisa", email: "lisa@gmail.com", createdAt: 1593894321997},
{id: "1d1e31cd-eff2-47de-b46d-4d45bb2dd97f", handle: "kawikaLovesKpop", email: "kawika@gmail.com", createdAt: 1593894550566},
{id: "be942039-6a59-46a4-9f92-1f7808b20c2f", handle: "unnieJennie", email: "jennie@gmail.com", createdAt: 1593894227232},
{id: "0f933bbd-d1fb-4ad5-80f0-661c3c0aa2f8", handle: "lisa", email: "lisa@gmail.com", createdAt: 1593894321997},
{id: "1d1e31cd-eff2-47de-b46d-4d45bb2dd97f", handle: "kawikaLovesKpop", email: "kawika@gmail.com", createdAt: 1593894550566},
{id: "be942039-6a59-46a4-9f92-1f7808b20c2f", handle: "unnieJennie", email: "jennie@gmail.com", createdAt: 1593894227232}
]
我尝试过将 countBy 方法与 lodash 一起使用
const bestMatched = countBy(users, "handle");
返回
{lisa: 3, jisoo: 1, unnieJennie: 3, kawikaLovesKpop: 2}
我仍然需要访问包含所有对象键和值的用户数组。
【问题讨论】:
标签: javascript arrays sorting object