有两封电子邮件,并尝试检查它是否与我的数据数组中的任何内容匹配。
我以为下面的代码会返回true
或false
,但似乎不起作用:
const email1 = test.emailAddress.value;
const email2 = test2.emailAddress.value;
data.every(({ email }) => email.value === email1 || email.value === email2);
发布于 2018-09-21 02:51:08
您可以使用匹配的两个电子邮件数组来filter
您的数据,如下所示:
const data = [
{email: 'test@test.com'},
{email: 'test1@test.com'},
{email: 'test2@test.com'}
]
const email1 = 'test1@test.com'
const email2 = 'test2@test.com'
const matched = data.filter(({ email }) => [email1, email2].includes(email));
console.log(matched)
发布于 2018-09-21 02:56:52
根据您的代码,.every
方法将检查data
数组中的每个email
是否为email1
或email2
,如果data
数组中至少有一个电子邮件不符合条件,则.every
方法将返回false。这意味着.every
方法不适合您想要实现的目标。
var exists = data.some(({email}) => [email1, email2].includes(email))
这是在假设data
是包含电子邮件属性的对象数组的情况下进行的。如果数据仅仅是一个电子邮件字符串数组,那么它应该是
var exists = data.some(email => [email1, email2].includes(email))
https://stackoverflow.com/questions/52431418
复制相似问题