JavaScript函数参数传递数组

标签 javascript jquery arrays

我试图将一个数组传递给一个函数,该函数查看当前 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/

相关文章:

javascript - vuejs v-html图像标签无法解析src

javascript - 为什么当我运行 Jquery 函数时会触发 HTML 5 验证

javascript - 打开和关闭面板时,如何防止浏览器窗口跳回页面顶部?

javascript - 使用 Flot 和 AJAX 实时绘图 - 不绘图

php - 将值插入 php 多维数组

php - 如何使用php将单词对(字符串)数组插入到MySQL中

javascript - 如何取消定义或删除 javascript 函数?

javascript - 替代 anchor URL

javascript - 如何将 reCAPTCHA 添加到表单

java - 初始化 int 数组中的值后,对该数组的更新将不会出现在 Serial 中