js对二维数组的精确和模糊筛选并输出的封装函数

简介: js对二维数组的精确和模糊筛选并输出的封装函数

项目需求

在实际项目开发中,对二维数组的筛选一般是在后端进行,但有时前端也需要对数据进行过滤、筛选和清洗。本次项目的实际生产环境是对百度离线地图的数据进行筛选,减少后台的开发量

被筛选数组

    //被筛选数组
    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 < list.length; i++) {
            //将JSON对象转为字符串后进行匹配筛选,如果字符串中不包含目标字符会返回-1;
            if (JSON.stringify(list[i]).indexOf(keyWord) >= 0) {
                arr.push(list[i]);
            }
        }
        return arr;
    }


lockdatav Done!

相关文章
|
1月前
|
JavaScript 前端开发 Java
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
本文介绍了JavaScript中常用的函数和方法,包括通用函数、Global对象函数以及数组相关函数。详细列出了每个函数的参数、返回值及使用说明,并提供了示例代码。文章强调了函数的学习应结合源码和实践,适合JavaScript初学者和进阶开发者参考。
42 2
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
|
1月前
|
前端开发 JavaScript 开发者
除了 Generator 函数,还有哪些 JavaScript 异步编程解决方案?
【10月更文挑战第30天】开发者可以根据具体的项目情况选择合适的方式来处理异步操作,以实现高效、可读和易于维护的代码。
|
2月前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
2月前
|
存储 JavaScript 前端开发
JS函数提升 变量提升
【10月更文挑战第6天】函数提升和变量提升是 JavaScript 语言的重要特性,但它们也可能带来一些困惑和潜在的问题。通过深入理解和掌握它们的原理和表现,开发者可以更好地编写和维护 JavaScript 代码,避免因不了解这些机制而导致的错误和不一致。同时,不断提高对执行上下文等相关概念的认识,将有助于提升对 JavaScript 语言的整体理解和运用能力。
|
2月前
|
前端开发 JavaScript
JS-数据筛选
JS-数据筛选
35 7
|
2月前
|
JavaScript 前端开发
js教程——函数
js教程——函数
45 4
|
2月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
21 2
|
2月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
29 5
|
2月前
|
JavaScript 前端开发
Node.js 函数
10月更文挑战第5天
25 3
|
2月前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
49 0