我需要创建一个可搜索的项目数组,但我不确定是应该创建自定义对象的数组还是只创建分隔字符串的数组。有人能给我一些关于哪种方法更好的建议吗?下面是一个示例:
var Arr = [ "Arts Tower|ArtsTower.htm|104",
"Arts Tower|ArtsTower.htm|1203",
"Arts Tower|ArtsTower.htm|Arts Tower"
];
var searchTerm = "tow"
var ArrResults = jQuery.grep(Arr, function(value, index){
return (value.split("|")[2].toLowerCase().indexOf(searchTerm) != -1);
});
或者
function Item(name, url, str){
this.name = name;
this.url = url;
this.str= str;
}
var Arr = new Array();
Arr.push(new Item("Arts Tower", "ArtsTower.htm", "104"));
Arr.push(new Item("Arts Tower", "ArtsTower.htm", "1203"));
Arr.push(new Item("Arts Tower", "ArtsTower.htm", "Arts Tower"));
var searchTerm = "tow"
var ArrResults = jQuery.grep(Arr, function(value, index){
return (value.str.toLowerCase().indexOf(searchTerm) != -1);
});
我需要搜索数组并返回任何匹配项。哪种方法性能更好?