猿问

在 JavaScript 或 Typescript 中按 ID 搜索和计算两个数组中的匹配项

我有两个数组,users 和places,每个数组都包含userId,inplaces 和Id(in users),userId 和id 是相同的:

... 所以加入了这个数组,如:


  const result = users.map(placeA => {

    return places

        .filter(placeB => placeB.userId === placeA.id)

});

...我按用户排序,每个用户都有他的位置,例如:

http://img2.mukewang.com/6167ee2a0001de1910100210.jpg

每个用户可能有很多地方或没有(如果没有则为 0),每个地方数组包含点:


http://img3.mukewang.com/6167ee3600014ff204890590.jpg

在ionic应用前端,我有一个用户列表,每个用户都有个人资料照片,用户名,我需要提取并显示积分,根据用户积分,对那些喜欢排名的用户列表进行排序,积分较多的用户在上面...

如何获得每个用户的所有用户位置的总和?

先感谢您。


冉冉说
浏览 278回答 1
1回答

慕妹3242003

你可以像这样减少它:places.reduce((userPlaces, place)=> {    userPlaces[place.userId] = userPlaces[place.userId] || 0;    userPlaces[place.userId] += place.points;    return userPlaces;}, [])预期的输出是一个数组,您可以在其中找到 userIds 作为索引,并将所有用户位置的点值总和作为每个位置的值。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答