项目需求
在实际项目开发中,对二维数组的筛选一般是在后端进行,但有时前端也需要对数据进行过滤、筛选和清洗。本次项目的实际生产环境是对百度离线地图的数据进行筛选,减少后台的开发量
被筛选数组 //被筛选数组
var data = [
{"name": "《西游记》", "author": "吴承恩", "cat": "A级书刊"},
{"name": "《三国演义》", "author": "罗贯中", "cat": "A级书刊"},
{"name": "《红楼梦》", "author": "曹雪芹", "cat": "A级书刊"}
];
单击事件
//单击事件
$(function () {
$("#btn").click(function () {
var name = "西游记";
var author = "吴承恩";
console.log(filterData(data, name, author))
})
})
数据筛选
在CSDN找到更多的是对二维数据的“精确匹配筛选”,主要采用的是js数组的过滤函数进行操作。但是出于对项目的灵活性,还是推荐“模糊匹配”。
精确筛选 //筛选条件封装函数-精确匹配;
function filterData(data, name, author) {
return data.filter(item => item.name == name || item.author == author)
}
模糊匹配
//筛选条件封装函数-模糊匹配;
function getProbably(list, keyWord) {
var arr = [];
for (var i = 0; i = 0) {
arr.push(list[i]);
}
}
return arr;
}
lockdatav Done!