我试图Backbone.js的学习和(通过扩展)underscore.js,和我遇到一些困难,了解一些公约。在写一个simpel搜索过滤器,我认为类似下面会的工作:underscore.js过滤功能
var search_string = new RegExp(query, "i");
var results = _.filter(this, function(data){
return search_string.test(data.get("title"));
}));
但是,事实上,对于这个工作,我需要我的过滤功能更改为以下:
var search_string = new RegExp(query, "i");
var results = _(this.filter(function(data){
return search_string.test(data.get("title"));
}));
基本上,我想了解为什么第二个例子有效,而第一个例子没有。基于文档(http://documentcloud.github.com/underscore/#filter),我认为前者会起作用。或者,也许这只是反映了我的一些旧的jQuery习惯......任何人都可以为我解释这个吗?
它应该阅读_.filter - 对不起,这是一个错字。使用_.filter数据为空,结果“结果”返回一个空数组。 – bento
而这个''是Backbone集合? –
是的。 (this)的console.log为我提供了一个包含长度,模型等的“孩子”。 – bento