按子字符串过滤的结果错误
Wrong result for filtering by substring
我正在创建一个过滤输入,根据keyUp带来结果。这就是我正在做的过滤,通过主干的集合:
var Brand = Backbone.Model;
var Brands = Backbone.Collection.extend({
model: Brand,
filterByName: function () {
return this.filter(function (model) {
return model.get('name').indexOf('h') > -1;
});
}
});
var fiat = new Brand ({ name: 'Fiat' });
var honda = new Brand ({ name: 'Honda' });
var chevrolet = new Brand ({ name: 'Chevrolet' });
var peugeot = new Brand ({ name: 'Peugeot' });
var mitsubishi = new Brand ({ name: 'Mitsubishi' });
var hyundai = new Brand ({ name: 'Hyundai' });
var brands = new Brands ([ fiat, honda, chevrolet, peugeot, mitsubishi, hyundai ]);
console.log(brands.filterByName());
关键是:当我输入游乐场:http://jsfiddle.net/Lgcb0skm/
h
时,例如,它只给我带来三菱h I 和Chevrolet,而不是所有可能的结果,例如 h onda, h云代等。为什么?建议吗? 简答'H' != 'h'
。如果想要进行不区分大小写的匹配,则需要将文本字符串小写:
return this.filter(function (model) {
return model.get('name').toLowerCase().indexOf('h') > -1;
});
试试:
return model.get('name').toLowerCase().indexOf('h') > -1;
相关文章:
- 如何知道javascript for语句中的所有结果是否都是错误的
- JScript 错误: 无法分配给函数结果
- json-api和错误结果:无法读取属性'长度'的未定义
- 显示错误结果的Javascript
- javascript使用正则表达式得到错误的结果
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 原型中漂亮的代码,如何省略'不是函数'空结果选择器上的错误
- 在JavaScript中解析日期时得到错误的结果
- YouTube API v3哈希标签搜索错误结果
- jQuery.Validate - 如何将错误结果放在不同的地方
- JavaScript 数学给出了完全错误的结果
- web programming_javascript:javascript中的Grade结果错误
- 用javascript解析json并显示结果错误
- nodejs, http请求,解析结果错误
- ionic FileTransfer不给出结果/错误/反馈,然后做成功函数
- 在Javascript页面中搜索-一个结果错误
- TypeError: Object没有方法'split'分割结果错误[0].geometry.locat
- OpenLayers EPSG900913- EPSG4326转换结果错误
- Extendscript Javascript计算结果错误
- 按子字符串过滤的结果错误