js多条件筛选(可单条件搜索还可以模糊查询)

先看重点部分:

 其中data是需要过滤的数据;condition是过滤条件——需要对其进行处理转换成和数据相关的格式,说直白点就是获取值然后以对象的形式处理,最后在调用渲染函数

整体代码

// 搜索
let seek = {};
$("#seek").click(function() {
	$("#list_operation").show()
	console.log($("#items").val());
	$("#paging").show()
	seek = {};
	let namess = $("#names").val()
	let tele = $("#tel").val();
	let item = $("#items").val();
	let date_time = $("#date").val();
	// let namess = $("#names").val()
	// let namess = $("#names").val()
	// let namess = $("#names").val()
	seek = {
		name: namess,
		tel: tele,
		nowdate: date_time,
		title: item
	}

	//@param condition 过滤条件
	//@param data 需要过滤的数据
	let filter = (condition, data) => {
		return data.filter(item => {
			return Object.keys(condition).every(key => {
				return String(item[key]).toLowerCase().includes(
					String(condition[key]).trim().toLowerCase())
			})
		})
	}

	let search_list = filter(seek, number_render);
	console.log(search_list);
	if (search_list.length == 0 || search_list == []) {//这个判断可以不加,但要有下面的渲染函数
		$("#list_centers").html(`<div style="text-align:left">您要搜索的数据离家出走了~~</div>`)
		$("#paging").hide()
		$("#list_operation").hide()
	} else {
		number_data = search_list
		number_of_pages = 0;
		fun(number_data, number_of_pages)//渲染函数
	}

})

猜你喜欢

转载自blog.csdn.net/zzx262625/article/details/129884026