JavaScript数组-筛选出与特定字符串不匹配的值

use*_*997 3 javascript arrays

我试图遍历一个数组并筛选出所有符合特定值的项目。

例如我有这个数组:

const emails = ["nick@hotmail.com", "nick@yahoo.com", "nick@gmail.com", "bob@yahhoo.com", "bob@gmail.com", "boc@test.com"];
Run Code Online (Sandbox Code Playgroud)

我想过滤出以“

*@hotmail.com *@gmail.com


我已经试过了,但是这不起作用:

const filtered = emails.filter((email) => {
  return !email.includes('@hotmail.com') || !email.includes('@gmail.com');
});
Run Code Online (Sandbox Code Playgroud)

上面示例的首选输出为:

["nick@yahoo.com", "bob@yahhoo.com", "boc@test.com"]
Run Code Online (Sandbox Code Playgroud)

Ant*_*ony 5

将或替换为||&&

如果您选择所有不包含hotmail或不包含gmail的电子邮件,您将得到不包含这两个电子邮件的所有电子邮件,这不是您的目标。
您想获取所有不同时包含hotmail和gmail的邮件!

const filtered = emails.filter((email) => {
  return !email.includes('@hotmail.com') && !email.includes('@gmail.com');
});
Run Code Online (Sandbox Code Playgroud)