我试图将一个数组传递给一个函数,该函数查看当前 URL 的一部分,然后根据该 URL 过滤页面上的数据。该数组具有许多用户可以在页面上搜索的值。
目前 filterFor 参数只能接受一个字符串,我希望它接受一个可以搜索的字符串数组。
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');
这将允许页面过滤以显示任何具有 chemistry 值的 programName。该函数查看的 URL 部分是这样的:
?filter=Chemistry
我需要它像这样工作:
var myArray = ['Chemistry', 'Math' 'Earth Science'];
queryList(myArray, 'programName');
允许我传入查询可以接受的程序列表。
最佳答案
您应该能够使用内置的 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");
关于JavaScript函数参数传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36106599/