gpt4 book ai didi

javascript - 如何在 underscore.js 中返回部分匹配的数组

转载 作者:搜寻专家 更新时间:2023-11-01 04:57:36 26 4
gpt4 key购买 nike

我正在尝试使用 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 不是正确的方法吗?如果不是,有什么更好的方法来解决这个问题?

最佳答案

Is using ._where not the correct approach?

是的。 _.where返回“包含列出的所有键值对的值”。这种精确匹配不是您想要的。

What would be a better way to approach this?

使用更通用的_.filter功能:

var filteredPeople = _.filter(people, function(person) {
return person.name.indexOf("im") > -1;
});

当然,您可以使用不同于indexOf 的东西。如果您想使用正则表达式,它可能看起来像:

return /im/.test(person.name);

关于javascript - 如何在 underscore.js 中返回部分匹配的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16924208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com