JavaScript函数参数传递数组

时间:2016-03-19 20:10:42

标签: javascript jquery arrays

我正在尝试将数组传递给查看当前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');

允许我传入查询可以接受的程序列表。

1 个答案:

答案 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");