【发布时间】:2017-10-14 11:46:28
【问题描述】:
我有一个这样的对象数组,我如何在这个对象数组中搜索特定的字符串模式?
如果我输入 'B' 结果应该是 'bent' 和 'benny
如果我输入 'benn' 结果应该是 'benny'
HTML
<form>
<input id="getCoins" type="text" name="getCoins" placeholder="">
</form>
JavaScript
var input = document.getElementById("getCoins");
var arr = [0:{name: 'bent', town: 'kansas'}1:{ name:'benny', town:'vegas'}]
input .addEventListener("keyup", function(e){
console.log(filterIt(arr, input.value));
}
这是我在另一篇文章中尝试过的,但我无法让它工作?
function filterIt(arr, searchKey) {
return arr.filter(function (obj) {
return Object.keys(obj).some(function (key) {
return obj[key].includes(searchKey);
})
});
}
注意:我只想搜索名称,而不是城镇
【问题讨论】:
-
“我无法让它工作” - 它根本不起作用?它有效,但不正确?
-
这是错误的:
var arr = [0:{name: 'bent', town: 'kansas'}1:{ name:'benny', town:'vegas'}]。应该是:var arr = [ {name: 'bent', town: 'kansas'}, {name:'benny', town:'vegas'} ];
标签: javascript arrays object search