我有一个数组,其值是ID,电子邮件和密码。

let array = [
 {id: hyu, email: a@a.com, password: 123},
 {id: rft, email: b@b.com, password: 456},
 {id: ght, email: c@c.com, password: 789},
 {id: kui, email: d@d.com, password: 679}
]

现在,当我的条件匹配时,我想返回该对象。为此,我使用javascript some函数创建了一个函数,但是我想返回该对象,并且我们知道some函数返回 bool(boolean) 值。

我不知道该怎么做。

我的代码是:
const isEmailExists = (email, array) => {
  return array.some(function(el) {
    return el.email === email;
  });
};

if (isEmailExists("c@c.com", array) == true) {
  // I want to work here with returned objects i.e on success case
} else {
  // error case
}

任何帮助都非常感谢

最佳答案

您可以使用.filter()并检查过滤后的数组的长度是否大于0:

let array = [
 {id: 'hyu', email: 'a@a.com', password: 123},
 {id: 'rft', email: 'b@b.com', password: 456},
 {id: 'ght', email: 'c@c.com', password: 789},
 {id: 'kui', email: 'd@d.com', password: 679}
]

let filtered = array.filter(row => row.email === 'a@a.com');

console.log(filtered);

if (filtered.length > 0) { /* mail exists */ }
else { /* mail does not exist */ }

07-24 09:44
查看更多