Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript从数组中筛选数据_Javascript_Filtering - Fatal编程技术网

JavaScript从数组中筛选数据

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

我有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.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'];