如何使用数组javascript按名称和姓氏进行搜索?
每次我搜索以je开头的东西时,div = result都会显示我所有的姓名和姓氏,在这种情况下杰西卡和杰伊;
这将是一个onkeydown事件,对吗?
<input type='text' id='filter' placeholder='search in array'>
这里我打印结果:
<div id='result'></div>
这是我的阵列:
var datos = [ ['Jessica','Lyn',3],
['Jhon','Cin',5],
['Alison','Peage',1],
['Thor','zhov',12],
['Jey','hov',32]
];
答案 0 :(得分:2)
$("#filter").on('keyup', function () {
var val = $(this).val();
$("#result").empty();
$.each(datos, function () {
if (this[0].indexOf(val) >= 0 || this[1].indexOf(val) >= 0) {
$("#result").append("<div>" + this[0] + ' ' + this[1] + "</div>");
}
});
});
答案 1 :(得分:1)
var $result = $('#result');
$('#filter').on('keyup', function () {
var $fragment = $('<div />');
var val = this.value.toLowerCase();
$.each(datos, function (i, item) {console.log( item[0].toLowerCase().indexOf(val) );
if ( item[0].toLowerCase().indexOf(val) == 0 ) {
$fragment.append('<p>' + item[0] + ' ' + item[1] + '</p>');
}
});
$result.html( $fragment.children() );
});
答案 2 :(得分:1)
简单的答案是在数组上运行for循环检查每个元素。但是,如果你有一个大型数组,这不是一个好主意。索引数组的方法有很多种。从头脑中思考我可能会构建第二个数组,该数组存储作为索引连接的字段,然后是数组引用。因此,您可以循环访问引用对象。找到带字符串比较的条目。获取对真实数组的索引引用。