我正在寻找一种在jQuery数组或对象中搜索的解决方案。我的意思不是检查该值是否包含在数组中,而是搜索作为用户输入的相关术语。就像我们在Java甚至SQL LIKE子句中过滤ArrayList一样。
例如,假设下面是我的数组
var arr = [ 'Benson', 'Cate', 'John']
如果用户键入字符e,则应显示Benson和Cate。
任何最简单的方法都可以做到这一点
发布于 2021-10-01 10:10:59
您可以像这样使用filter:
var arr = [ 'Benson', 'Cate', 'John' ]
console.log(arr.filter(x => x.includes('e')));
参考资料:
发布于 2021-10-01 10:23:05
只是补充@SimoneRossaini的答案。
var arr = [ 'Benson', 'Cate', 'John' ];
const results = document.getElementById('results');
let li;
function search(s) {
let result = arr.filter(e => e.includes(s));
results.innerHTML = '';
result.forEach(name => {
li = document.createElement('li');
li.appendChild(document.createTextNode(name));
results.appendChild(li);
});
}<input type="text" id="search" onkeyup="search(this.value)">
<ul id="results"></ul>
虽然不包含JQuery,但将这段代码转换为JQuery可能很容易。
https://stackoverflow.com/questions/69404112
复制相似问题