gpt4 book ai didi

Javascript : How to get unique Id for multiple duplicate records

转载 作者:行者123 更新时间:2023-11-29 21:21:57 25 4
gpt4 key购买 nike

假设我们有一个对象:

   var db = [
{Id: "201" , Player: "Jon",price: "3.99", loc: "NJ" },
{Id: "202", Player: "Sam",price: "4.22", loc: "PA" },
{Id: "203" ,Player: "Sam",price: "4.22", loc: "NY" },
{Id: "204", Player: "Bill",price: "3.22", loc: "TX" },
{Id: "205" ,Player: "Dave",price: "3.99", loc: "WA" },
{Id: "206" ,Player: "Dave",price: "3.99", loc: "WI" },
];

202,203,205,206 具有相似的播放器和价格值,但我只需要一个 ID 来表示相似的值,即输出应为 202,205。

最佳答案

您可以先使用 reduce() 返回包含每个 Player|price 组合计数的对象。然后你可以使用另一个 reduce,并检查 Player|price 的计数是否为 > 1。如果是,则将对象 id 添加到数组。

var db = [
{Id: "201" ,Player: "Jon",price: "3.99", loc: "NJ" },
{Id: "202", Player: "Sam",price: "4.22", loc: "PA" },
{Id: "203" ,Player: "Sam",price: "4.22", loc: "NY" },
{Id: "204", Player: "Bill",price: "3.22", loc: "TX" },
{Id: "205" ,Player: "Dave",price: "3.99", loc: "WA" },
{Id: "206" ,Player: "Dave",price: "3.99", loc: "WI" },
];

var obj = db.reduce(function(o, e) {
o[e.Player + '|' + e.price] = (o[e.Player + '|' + e.price] || 0) + 1;
return o;
}, {});

var result = db.reduce(function(r, e) {
if(obj[e.Player + '|' + e.price] > 1) r.push(e.Id);
return r;
}, []);

console.log(result)

关于Javascript : How to get unique Id for multiple duplicate records,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38336087/

25 4 0
文章推荐: javascript - ajax post方法无法接收php文件中的数据
文章推荐: java - Android GridView 1 全宽项目然后 2 列,怎么样?
文章推荐: javascript - SignalR 错误无法将类型 'System.Threading.Tasks.Task' 隐式转换为 'string'