我正在尝试使用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" });
但我想要的是这样的:
var filteredPeople = _.where(people, { name: "im" }); //Should return "Jimmy" and "Tim"
使用._where
不是正确的方法吗?如果没有,那么更好的方法是什么呢?
你可以使用_.filter
:
_.filter(people, function(person) { return person.name.match(new RegExp('im')); });
在2017年你可以做到:
洛兹:
_.filter(people, p => _.includes(p.name, 'im'))
ES6:
people.filter(p => p.name.includes('im'))