查找一组使用:find
废话不多说总结上代码:
html:
<input type="text" id="inp"> <button onclick="func()">登录</button>
js:
let arr = [{ 'name': '张三', 'posts': '学生', 'id': '1', 'pid': '1' }, { 'name': '李四', 'posts': '学生', 'id': '2', 'pid': '1' }, { 'name': '王五', 'posts': '学生', 'id': '3', 'pid': '1' }, { 'name': '赵六', 'posts': '学生', 'id': '4', 'pid': '2' } ]; function func(){ let inp = document.getElementById('inp').value; console.log(arr.find(item => item.name === inp)); //表示在arr数据中查找其中的一组数据(item可以理解为参数)。 //意思是在这组数据中的name和id为inp的value一样的选出来 }
查找多个数据使用:filter
function func() { let inp = document.getElementById('inp').value; console.log(arr.filter(item => item.pid === inp)); //当输入框里面的内容和pid一样的话选出来,选中的数据是以数组类型。 }
ps:json数据同样适用。
filter和find的区别:
find适用于查找一组数据(find只能查找到一组数据);
filter适用于查找多组相同条件的数据(filter可以查找多组数据,前提是条件一样的);