【发布时间】:2017-12-18 11:45:20
【问题描述】:
我有一组项目,我希望用户能够使用多个下拉列表进行过滤。在这种情况下,字符串的每个字符都有自己的过滤器。
我的问题是,一旦我的数组已经被过滤,我该如何过滤它? 即我的数组,部件,["35X", "45X" "35L"],如果我已经过滤到包含 '3' 的字符串,如何过滤到包含 3 和 L 的字符串?
var parts = [" 35X", " 35L", " X44", " 55L", " 55X"];
var obj8 = document.getElementById("selectOperators");
var obj1 = document.getElementById("Series");
function getOption1() {
var din = filterParts(obj1.options[obj1.selectedIndex].value)
document.getElementById("other").innerHTML = din;
}
function getOption8() {
var ryan = filterParts(obj8.options[obj8.selectedIndex].value)
document.getElementById("other").innerHTML = ryan;
}
function filterParts(query) {
return parts.filter((el) => el.toLowerCase().indexOf(query.toLowerCase()) > -1)
}
如果可能的话不使用 jquery 这样做
【问题讨论】:
-
parts.filter(part => /^3.*L$/.test(part))是您想要根据“以 3 开头并以 L 结尾”进行过滤的操作 -
你可以像这样按顺序过滤:
arr1.filter(filterAfunc).filter(filterBfunc);
标签: javascript html arrays filter