Javascript JQuery到C中的grep#
我用Javascript/jQuery编写了一段代码,用于搜索项目列表。grep是否存在于C#中,还是有更好的方法Javascript JQuery到C中的grep#,javascript,c#,json,Javascript,C#,Json,我用Javascript/jQuery编写了一段代码,用于搜索项目列表。grep是否存在于C#中,还是有更好的方法 var items; var itemCount = 0; var result = $.grep(items, function (v, i) { //change title and description to lowercase to match search lowerCaseTitle = v.title.toLowe
var items;
var itemCount = 0;
var result = $.grep(items, function (v, i) {
//change title and description to lowercase to match search
lowerCaseTitle = v.title.toLowerCase();
lowerCaseDesc = v.description.toLowerCase();
if (lowerCaseTitle.indexOf(lowerCaseSearch) > -1 || lowerCaseDesc.indexOf(lowerCaseSearch) > -1) {
var newLI = createLI(i, v.title);
$('#searchResults').append(newLI);
itemCount++;
}
return v;
});
我想我只是想搜索我使用JSONTextWriter创建的JSON字符串。它输入每个项目的id、标题和说明。如果标题或说明(或标题/说明的子集)与传递的搜索词匹配,请将其添加到另一个列表中 在C#中没有
grep
方法,但是有LINQWhere
方法用于相同的目的。我认为解析JSON的最佳选择是使用。因此,您的代码可能如下所示:
var json = "YOUR JSON ARRAY";
var searchTerm = "SEARCH TERM";
var jarray = JArray.Parse(json);
var searchResults = jarray
.Where(x =>
x["title"].Value<string>().ToLower().Contains(searchTerm) ||
x["description"].Value<string>().ToLower().Contains(searchTerm))
.ToList();
这不是普通的javascript,而是一个jquery函数。此外,您可以比较这两个函数的源代码,看看它是否以相同的方式工作?在哪里?我会使用LINQ Js,在一些项目中使用过它,效果非常好,特别是如果你从C#熟悉它:这是完美的。我将完全传入json和searchTerm,然后使用JArray。谢谢
x => x["title"].Value<string>().IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase) >= 0