如何从java脚本中的数组中获取唯一用户名的最后记录 [英] how to get last records of unique usernames from an array in java script

查看:29
本文介绍了如何从java脚本中的数组中获取唯一用户名的最后记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个对象数组,例如:

<预><代码>[{ id: 8, 用户名: 'peter',weight:80,date:'2019-10-14'},{ id: 1, 用户名: 'harry' ,weight:80,date:'2019-01-01'},{ id: 2, 用户名: 'harry' ,weight:84,date:'2019-02-21'},{ id: 3, 用户名: 'john' ,weight:80,date:'2019-03-11'},{ id: 7, 用户名: 'john' ,weight:80,date:'2019-05-25'},{ id: 4, 用户名: 'peter' ,weight:80,date:'2019-08-06'},{ id: 5, 用户名: 'peter' ,weight:80,date:'2019-06-11'},{ id: 6, username: 'harry' ,weight:90,date:'2019-04-03'}]

我想要每个唯一用户的最后一条记录,例如:

<预><代码> [{ id: 6, 用户名: 'harry',weight:90,date:'2019-04-03'},{ id: 7, 用户名: 'john' ,weight:80,date:'2019-05-25'},{ id: 8, 用户名: 'peter',weight:80,date:'2019-10-14'},]

在 JavaScript 中.

解决方案

您可以参考 Map 并获取值.

var array = [{ id: 1, username: 'harry', weight: 80, date: '2019-01-01' }, { id: 2, username: 'harry', weight: 84, date: '2019-02-21' }, { id: 3, username: 'john', weight: 80, date: '2019-03-11' }, { id: 4, username: 'peter', weight: 80, date: '2019-08-06' }, { id: 5, username: 'peter', weight: 80, date: '2019-06-11' }, { id: 6, username: 'harry', weight: 90, date: '2019-04-03' }, { id: 7, username: 'john', weight: 80, date: '2019-05-25' }, { id: 8, username: 'peter', weight: 80, date: '2019-10-14' }],结果 = Array.from(new Map(array.map(o => [o.username, o])).values());console.log(result);

.as-console-wrapper { max-height: 100% !important;顶部:0;}

I have an Array of Objects Like:

[ 
 { id: 8, username: 'peter' ,weight:80,date:'2019-10-14'},
 { id: 1, username: 'harry' ,weight:80,date:'2019-01-01'},
 { id: 2, username: 'harry' ,weight:84,date:'2019-02-21'},
 { id: 3, username: 'john' ,weight:80,date:'2019-03-11'},
 { id: 7, username: 'john' ,weight:80,date:'2019-05-25'},
 { id: 4, username: 'peter' ,weight:80,date:'2019-08-06'},
 { id: 5, username: 'peter' ,weight:80,date:'2019-06-11'},
 { id: 6, username: 'harry' ,weight:90,date:'2019-04-03'}


]

and I want last record of every unique user datewise for ex:

 [ 
 { id: 6, username: 'harry' ,weight:90,date:'2019-04-03'},
 { id: 7, username: 'john' ,weight:80,date:'2019-05-25'},
 { id: 8, username: 'peter' ,weight:80,date:'2019-10-14'},
]

in javascript.

解决方案

You could take a Map and get the values.

var array = [{ id: 1, username: 'harry', weight: 80, date: '2019-01-01' }, { id: 2, username: 'harry', weight: 84, date: '2019-02-21' }, { id: 3, username: 'john', weight: 80, date: '2019-03-11' }, { id: 4, username: 'peter', weight: 80, date: '2019-08-06' }, { id: 5, username: 'peter', weight: 80, date: '2019-06-11' }, { id: 6, username: 'harry', weight: 90, date: '2019-04-03' }, { id: 7, username: 'john', weight: 80, date: '2019-05-25' }, { id: 8, username: 'peter', weight: 80, date: '2019-10-14' }],
    result = Array.from(new Map(array.map(o => [o.username, o])).values());

console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }

这篇关于如何从java脚本中的数组中获取唯一用户名的最后记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆