gpt4 book ai didi

javascript - 在客户端搜索对象?

转载 作者:行者123 更新时间:2023-11-30 06:01:29 34 4
gpt4 key购买 nike

我在客户端内存中有 50-100 个对象。我需要在没有标签的情况下搜索它们,只需文本搜索对象的每个字段并查找匹配项或部分匹配项。

进行此类搜索的最佳方式是什么?我如何根据相关性列出它们?

最佳答案

元素:

如果你想在元素中查找文本,试试这个:

$(":contains('your text')");

这将返回包含您的文本的每个元素。

对象

查看此演示:http://jsfiddle.net/datyn/1/

还搜索子对象,目前搜索不区分大小写,如果你想改变它,只需删除 .toLowerCase() 函数:

var ob = {
User : {
name : "Niels",
country : "Netherlands"
},
Name : "Niels test X"
}

function find_match(search, results)
{
$.each(this, function(k, v){
if( typeof(v) == "object" )
{
find_match.call(v, search, results);
}
else
{
if( v.toLowerCase().indexOf(search.toLowerCase()) != -1)
{
if($.inArray(this, results) == -1)
{
results.push(this);
}
}
}
});
}

var results = [];
find_match.call(ob, "x", results);
alert("Search for x results: " + results.length);
var results = [];
find_match.call(ob, "n", results);
alert("Search for n results: " + results.length);

您可以使用.call 方法调用函数。

示例:

find_match.call("Object / array you want to search", "The string", "Array where the results will be stored")

变化:

  1. 如果您不想匹配字符串的一部分,请将:v.toLowerCase().indexOf(search.toLowerCase()) != -1 更改为 v。 toLowerCase() == search.toLowerCase()

关于javascript - 在客户端搜索对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209004/

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