1、声明一个filter常量
2.filter接受(condition,data)两个参数
3、调用data里面的filter进行筛选
4、任意一个item当筛选条件
5、使用object.key获取对象所有key
6、对每个key使用Array.prototype.every()方法判断是否满足条件
7、将key转为字符串或小写
8、使用String.prototype.includes()检查是否有筛选条件值
9、返回最终结果
- const filter =
- (condition, data) => {
- return data.filter
- ((item: { [x: string]: any }) => {
- return Object.keys
- (condition).every((key) => {
- return String(item[key])
- .toLowerCase()
- .includes(String(condition[key]).trim().toLowerCase());
- });
- });
- };