JavaScript从数组中筛选数据
我有3个数组:firstname、lastname、email:JavaScript从数组中筛选数据,javascript,filtering,Javascript,Filtering,我有3个数组:firstname、lastname、email: var names = firstname.map(a => a.firstname); var uniqueNames = []; $.each(names, function(i, el){ if($.inArray(el, uniqueNames) === -1) uniqueNames.push(el); }); var lastnames = lastname.m
var names = firstname.map(a => a.firstname);
var uniqueNames = [];
$.each(names, function(i, el){
if($.inArray(el, uniqueNames) === -1) uniqueNames.push(el);
});
var lastnames = lastname.map(a => a.lastname);
var uniqueLastNames = [];
$.each(lastnames, function(i, el){
if($.inArray(el, uniqueLastNames) === -1) uniqueLastNames.push(el);
});
var emails = email.map(a => a.email);
我正在尝试按名字过滤电子邮件数组(后面跟着名字的方式):
当我使用示例时,它会起作用:
var emails = ['sAdam1@green.com','lessio@gmail.com'];
电邮:sAdam1@green.com已删除。很好的效果,但当我使用:
var emails=email.map(a=>a.email)代码>不起作用
console.log(电子邮件)代码>给出的结果类似于字符串数组:[”mail@example.com","mail2@example.com“,……]
原始数据:
电子邮件:约翰。doe@example.com, doe@hotmail.comJdoe@gmail.com, dennis@gmail.com, cow@boy.com
名字:约翰、丹尼斯、爱丽丝
姓氏:doe
和结果邮件数组:cow@boy.com. 休息到垃圾桶去
期待您的帮助。提前感谢您可以通过检查一组不需要的名称来进行筛选
var电子邮件=['john。doe@example.com', 'doe@hotmail.com","j。doe@gmail.com', 'dennis@gmail.com', 'cow@boy.com'],
名字=[“约翰”、“丹尼斯”、“爱丽丝”],
lastnames=['doe'],
名称=[…名字,…姓氏],
filtered=emails.filter(e=>!names.some(n=>e.includes(n));
console.log(过滤)代码>请添加原始数据和想要的结果。除非你给我所需的结果格式和形式,否则我无法建议答案。我使用Laravel Eloquent从数据库中的邮件表(列:firstname、lastname、email)中获取数据,并将它们加载到javascript中,如名称、lastname、email(它们类似于数组的对象)所以我得到了地图的价值。结果,我有3个数据数组,比如a names=[“john”、“dennis”、“nina”],lastnames和mail也是如此。我怎样才能给你更好的信息呢?如果你在问题中加入真正的原始数组和对象,那会更容易。要获得唯一的值,可以采用不同的方法,但在不添加某些内容之前,不可能为其编写一些代码。甚至我的答案看起来都是小问题,可能无法解决整个问题。我理解,所以我会添加更多信息,因为我正在尝试您的代码和其他解决方案,但它不起作用。给我一点时间
var emails = ['sAdam1@green.com','lessio@gmail.com'];