Jed*_*iah 4 javascript underscore.js
我正在尝试使用userscore在jQuery UI中执行与自动完成小部件类似的操作.我尝试过使用过_.where(),但这只有在完全匹配时才有效.
这有效:
var people = [
{ id: 1, name: "Jimmy" },
{ id: 2, name: "Johnny" },
{ id: 3, name: "Susan" },
{ id: 4, name: "Tim" },
{ id: 5, name: "Betty" },
{ id: 6, name: "Ralph" }
];
var filteredPeople = _.where(people, { name: "Jimmy" });
Run Code Online (Sandbox Code Playgroud)
但我想要的是这样的:
var filteredPeople = _.where(people, { name: "im" }); //Should return "Jimmy" and "Tim"
Run Code Online (Sandbox Code Playgroud)
使用._where不正确的方法?如果没有,那么更好的方法是什么呢?
使用._where不正确的方法?
是._.where返回" 包含列出的所有键值对的值 ".这种完全匹配不是你想要的.
什么是更好的方法来解决这个问题?
使用更通用的_.filter功能:
var filteredPeople = _.filter(people, function(person) {
return person.name.indexOf("im") > -1;
});
Run Code Online (Sandbox Code Playgroud)
当然,你可以使用不同的东西indexOf.如果您想使用正则表达式,它可能如下所示:
return /im/.test(person.name);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5031 次 |
| 最近记录: |