gpt4 book ai didi

javascript - MapReduce 删除重复的字符串

转载 作者:行者123 更新时间:2023-11-30 11:37:34 27 4
gpt4 key购买 nike

我有一个映射函数,它从电子邮件 ID 中找出域名,并发出该函数以减少计算域数的函数。

[
{ email:"xyz@gmail.com"},
{ email:"abc@abc.com"},
{ email:"inder@hotmail.com"},
{ email:"Ravi@Hotmail.com"},
{ email:"xxx@GMail.com"},
]

这是函数

db.collection.mapReduce(
function() {
emit(this.email.substr(this.email.indexOf('@') + 1), 1);
},
function(host, count) {
return Array.sum(count) ; },
{ out: "hosts" }
)

输出很好:-

   gmail.com
abc.com
hotmail.com
Hotmail.com
GMail.com

但是我想要的是

   gmail.com
abc.com
hotmail.com

我不希望在 <.com> 之前有包含大写字母的重复域名和相同名称。关于如何使用大写字母删除重复项的任何想法。或者任何相关的例子也很好。

最佳答案

使用 ES5,你可以做这样的事情:

var arr, res = [];

arr = [
{email: "xyz@gmail.com"},
{email: "abc@abc.com"},
{email: "inder@hotmail.com"},
{email: "Ravi@Hotmail.com"},
{email: "xxx@GMail.com"}
];

arr.map(function (item) {
return item.email.substr(item.email.indexOf('@') + 1).toLowerCase();
}).forEach(function (item) {
if (res.indexOf(item) === -1) {
res.push(item);
}
});

console.log(res);

关于javascript - MapReduce 删除重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43811979/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com