我正在尝试将数组传递给查看当前URL的一部分的函数,然后根据该URL过滤页面上的数据。该数组具有一个人可以在页面上搜索的许多值。
目前filterFor param只能接受一个字符串,我希望它能够获取一个可以搜索的字符串数组。
function queryList(filterFor, filterClass, filterClassTwo) {
var searchResult = $.urlParam('filter');
if (searchResult === filterFor) {
degreeProgram.filter(function (item) {
if (item.values()[filterClass] === filterFor ||
item.values()[filterClassTwo] === filterFor) {
return true;
} else {
return false;
}
});
$('#filterDisplay').html('<span>' + filterFor + '</span>');
$('#filterDisplay').addClass('activated');
}
}
queryList('Chemistry', 'programName');
这将允许页面过滤以显示具有化学值的任何programName。函数看到的URL部分是:
?filter=Chemistry
我需要它像这样工作:
var myArray = ['Chemistry', 'Math' 'Earth Science'];
queryList(myArray, 'programName');
允许我传入查询可以接受的程序列表。
答案 0 :(得分:0)
您应该可以使用内置的array methods来完成此任务。 indexOf()用于确定数组是否包含搜索词。
function arrayExample(myArray){
var searchTerm = "testing";
if(myArray.indexOf(searchTerm) !== -1){
alert("match");
}
else{
alert("no match");
}
}
arrayExample("blah","aaa","oooh");
arrayExample("testing","aaa","oooh");