Javascript Ember js检查对象数组中的键值

Javascript Ember js检查对象数组中的键值,javascript,foreach,Javascript,Foreach,我有一个用户数组,它由4个用户对象组成 users: [ { id: 1, user_id: 10116, email: "xx.xx@gmail.com", password: "xx.xx@gmail.com" }, { id: 2, user_id: 10117, email:

我有一个用户数组,它由4个用户对象组成

users: [
        {
            id: 1,
            user_id: 10116,
            email: "xx.xx@gmail.com",
            password: "xx.xx@gmail.com"
        },
        {
            id: 2,
            user_id: 10117,
            email: "yy@gmail.com",
            password: "yy@gmail.com"
        },
        {
            id: 4,
            user_id: 10126,
            email: "bangalore@aurus.com",
            password: "bangalore@aurus.com"
        }
    ]

var myEmail = "xx.xx@gmail.com";
var myPassword = "xx.xx@gmail.com";
检查特定
myEmail
myPassword
是否在给定的
用户
数组中存在/匹配的最短方法是什么

有什么办法可以做到这一点吗

我尝试使用
forEach
循环并尝试检查值。我正在寻找一个最佳的解决方案


Thx

这不是一行代码,但仅使用内置Javascript,我能想到的最简洁的代码是:

var user = users.filter(function (element) {
  return element.email == myEmail && element.password == myPassword;
})[0];

这是一个有效的JSFIDLE:

这不是一行,但仅使用内置Javascript,我能想到的最简洁的方法是:

var user = users.filter(function (element) {
  return element.email == myEmail && element.password == myPassword;
})[0];

这是一个有效的JSFIDLE:

这不是一行,但仅使用内置Javascript,我能想到的最简洁的方法是:

var user = users.filter(function (element) {
  return element.email == myEmail && element.password == myPassword;
})[0];

这是一个有效的JSFIDLE:

这不是一行,但仅使用内置Javascript,我能想到的最简洁的方法是:

var user = users.filter(function (element) {
  return element.email == myEmail && element.password == myPassword;
})[0];

这里有一个有效的JSFIDLE:

在我回答之前,请注意一点。通过向客户端公开任何形式的密码,您将用户置于极大的风险中。不管你是怎么加密的

也就是说,您可能正在查找
。任何

如果您的条件与枚举中的一个或多个项匹配,它将返回true(布尔值)。我经常在计算属性中使用它。例如,如果您将该集合循环到模板中,并且希望在项目控制器中工作,则可能会出现以下情况:

matchedEmailAndPassword: function () {
  return this.get('users').any(function (item) {
    return item.get('email') === this.get('email') && item.get('password') === this.get('password');
}.property('email', 'password')
我不会实际使用这个计算属性,它只是伪代码


希望有帮助

在我回答之前,先提醒一下。通过向客户端公开任何形式的密码,您将用户置于极大的风险中。不管你是怎么加密的

也就是说,您可能正在查找
。任何

如果您的条件与枚举中的一个或多个项匹配,它将返回true(布尔值)。我经常在计算属性中使用它。例如,如果您将该集合循环到模板中,并且希望在项目控制器中工作,则可能会出现以下情况:

matchedEmailAndPassword: function () {
  return this.get('users').any(function (item) {
    return item.get('email') === this.get('email') && item.get('password') === this.get('password');
}.property('email', 'password')
我不会实际使用这个计算属性,它只是伪代码


希望有帮助

在我回答之前,先提醒一下。通过向客户端公开任何形式的密码,您将用户置于极大的风险中。不管你是怎么加密的

也就是说,您可能正在查找
。任何

如果您的条件与枚举中的一个或多个项匹配,它将返回true(布尔值)。我经常在计算属性中使用它。例如,如果您将该集合循环到模板中,并且希望在项目控制器中工作,则可能会出现以下情况:

matchedEmailAndPassword: function () {
  return this.get('users').any(function (item) {
    return item.get('email') === this.get('email') && item.get('password') === this.get('password');
}.property('email', 'password')
我不会实际使用这个计算属性,它只是伪代码


希望有帮助

在我回答之前,先提醒一下。通过向客户端公开任何形式的密码,您将用户置于极大的风险中。不管你是怎么加密的

也就是说,您可能正在查找
。任何

如果您的条件与枚举中的一个或多个项匹配,它将返回true(布尔值)。我经常在计算属性中使用它。例如,如果您将该集合循环到模板中,并且希望在项目控制器中工作,则可能会出现以下情况:

matchedEmailAndPassword: function () {
  return this.get('users').any(function (item) {
    return item.get('email') === this.get('email') && item.get('password') === this.get('password');
}.property('email', 'password')
我不会实际使用这个计算属性,它只是伪代码



希望有帮助

forEach是正确的解决方案“最佳”解决方案您是指“最简洁”还是“最高效”,还是其他什么?@bvl yes forEach有效,但是有没有一行解决方案可以找到哪个用户对象包含给定的电子邮件和密码?@ChrisHodges基本上我不想手动循环数组并检查键值对。有任何inbulit函数可以做到这一点吗?@Ajey没有单行解决方案,但有一种非常有用的方法可以实现您想要的功能。。。请看我的答案。forEach是正确的答案“最优”解决方案您是指“最简洁”还是“最高效”,还是其他什么?@bvl yes forEach有效,但是有没有一行解决方案可以找到哪个用户对象包含给定的电子邮件和密码?@ChrisHodges基本上我不想手动循环数组并检查键值对。有任何inbulit函数可以做到这一点吗?@Ajey没有单行解决方案,但有一种非常有用的方法可以实现您想要的功能。。。请看我的答案。forEach是正确的答案“最优”解决方案您是指“最简洁”还是“最高效”,还是其他什么?@bvl yes forEach有效,但是有没有一行解决方案可以找到哪个用户对象包含给定的电子邮件和密码?@ChrisHodges基本上我不想手动循环数组并检查键值对。有任何inbulit函数可以做到这一点吗?@Ajey没有单行解决方案,但有一种非常有用的方法可以实现您想要的功能。。。请看我的答案。forEach是正确的答案“最优”解决方案您是指“最简洁”还是“最高效”,还是其他什么?@bvl yes forEach有效,但是有没有一行解决方案可以找到哪个用户对象包含给定的电子邮件和密码?@ChrisHodges基本上我不想手动循环数组并检查键值对。有任何inbulit函数可以做到这一点吗?@Ajey没有单行解决方案,但有一种非常有用的方法可以实现您想要的功能。。。请看我的答案。这只是一个测试用例,实际上并不意味着我试图在客户端公开用户密码。@Ajey-Ah,听起来不错。我会留下我的答案,以防万一将来有人读到这个问题。
对你有用吗?是的,很好。我开始意识到还有其他余烬数组助手。这只是一个测试用例,它不需要