javascript - Backbone Collection .findwhere() 下划线方法

标签 javascript

此代码返回模型在集合中出现的次数的警报消息。我想只打印一次,并在用户名和密码匹配后立即退出循环。 该怎么办?

                this.collection.find(function(model)
                {
                     debugger
                     var user = model.get('username');
                     var pwd = model.get('password');

                     if(enteredUsername == user && enteredPassword == pwd)
                     {

                         return(alert("success"));

                     }
                     else
                     {  
                         return(alert("failure"));

                     }
                });

最佳答案

BB的来源

    where: function(attrs, first) {
      if (_.isEmpty(attrs)) return first ? void 0 : [];
      return this[first ? 'find' : 'filter'](function(model) {
        for (var key in attrs) {
          if (attrs[key] !== model.get(key)) return false;
        }
        return true;
      });
    },
¶
Return the first model with matching attributes. Useful for simple cases of find.


    findWhere: function(attrs) {
      return this.where(attrs, true);
    },

所以尝试一下

console.log(this.collection.findWhere({username: username, password: password}));

关于javascript - Backbone Collection .findwhere() 下划线方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958837/

相关文章:

javascript 键码引用

javascript - 简单的 JavaScript 函数来持续改变按钮 onclick 的状态?

javascript - 有没有办法将项目传递给 VueJS 中另一个组件的对话框?

javascript - 为什么我不应该在 Javascript 循环中创建函数?

javascript - 仅使用 Angular 和 css 在折叠元素上平滑过渡

javascript - 设置禁用范围输入的样式

javascript - 将数组转换为空格分隔的字符串,同时连接各个值

javascript - Angular bootstrap-select 在选择后继续显示选项

javascript - 找不到 AngularJS 指令外部模板

javascript - 带有 Object.defineProperty 的 getter 是否可以访问该实例?