API接口获得数据后处理JS数组(包含字符串对象)分组、过滤和筛选的解决方案

简介: API接口获得数据后处理JS数组(包含字符串对象)分组、过滤和筛选的解决方案

读取API后,数组多是以字符串对象的形态存在于数组中的。根据实际情况,需要对得到的数据进行分组、过滤和筛选。

如下,通过api获取以下格式数组,可以理解为从mysql数据库读取的二维数组:

    var arr = [
        {area_name: "A街道", health_id: "1", health_must: "1693", health_today: "8", checked: "1"},
        {area_name: "B镇", health_id: "2", health_must: "1771", health_today: "2", checked: "1"},
        {area_name: "C镇", health_id: "3", health_must: "1456", health_today: "0", checked: "1"},
        {area_name: "D镇", health_id: "4", health_must: "1458", health_today: "65", checked: "1"},
        {area_name: "E街道", health_id: "5", health_must: "1544", health_today: "2", checked: "1"},
        {area_name: "F街道", health_id: "6", health_must: "1597", health_today: "401", checked: "1"},
        {area_name: "H街道", health_id: "2", health_must: "1481", health_today: "7", checked: "1"},
        {area_name: "I镇", health_id: "6", health_must: "1315", health_today: "2", checked: "1"},
        {area_name: "J镇", health_id: "4", health_must: "1660", health_today: "2", checked: "0"},
        {area_name: "K街道", health_id: "4", health_must: "2240", health_today: "8", checked: "0"},
        {area_name: "L镇", health_id: "3", health_must: "1511", health_today: "8", checked: "0"},
        {area_name: "M街道", health_id: "1", health_must: "1840", health_today: "2", checked: "0"},
        {area_name: "N街道", health_id: "1", health_must: "1738", health_today: "347", checked: "0"},
        {area_name: "P街道", health_id: "1", health_must: "1512", health_today: "2", checked: "0"}
    ];


根据项目需求,我们需要提供以下数据处理结果:

1、获取health_id为指定的数据,如:health_id=1的数据数组;

2、获取多个health_id为指定的数据,如health_id=1,health_id=3,health_id=4……的数据分组数据;

3、获取health_id且(或)checked同时满足的逻辑条件数据,如health_id=1且checked=0;


这些在SQL语句中都有固定的语法,直接调用即可,那么如何在数组中实现以上的需求呢?


解决方案如下:

1.单条件单数据筛选:

    /*1.单条件单数据筛选
     *filte数组过滤,指定对象字段的的筛选方式
     * arr,包含对象的数组;
     * health_id,对象数组对应的键;
     */
    function filterByName(arr, health_id) {
        return arr.filter(item => item.health_id == health_id);
    }
    //获取health_id=4的数组数据;
    var a = filterByName(arr, "4");
    console.log(a);

返回结果:



2.单条件多数据筛选后并自动分组

    /*2.单条件单数据筛选后,并自动分组
     *filte数组过滤,指定对象字段的的筛选方式
     * arr,包含对象的数组;
     * health_id,对象数组对应的键;
     */
    function filterByPolyName(arr, nameArr) {
        var result=[];
        for(var i = 0; i < nameArr.length; i++) {
            result.push(arr.filter(item => item.health_id === nameArr[i]));
        }
        return result;
    }
    //获取health_id=1和3的数组数据;
    var b = filterByPolyName(arr,['1','3']);
    console.log(b);

返回结果:



3、逻辑条件筛选

    /*3.逻辑条件筛选,多条件多数据筛选
     *filte数组过滤,指定对象字段的的筛选方式
     * arr,包含对象的数组;
     * health_id,对象数组对应的键;
     * 根据id且checked筛选;
     */
    function filterByName2(aim, health_id, checked) {
        return aim.filter(item => item.health_id === health_id && item.checked === checked);
    }
    //health_id=1且checked=0筛选
    var c = filterByName2(arr,"1","0");
    console.log(c);

返回结果:



Done!

相关文章
|
15天前
|
JSON API 数据格式
淘宝商品评论API接口,json数据示例参考
淘宝开放平台提供了多种API接口来获取商品评论数据,其中taobao.item.reviews.get是一个常用的接口,用于获取指定商品的评论信息。以下是关于该接口的详细介绍和使用方法:
|
3月前
|
JSON 数据挖掘 API
1688API最新指南:商品详情接口接入与应用
本指南介绍1688商品详情接口的接入与应用,该接口可获取商品标题、价格、规格、库存等详细信息,适用于电商平台开发、数据分析等场景。接口通过商品唯一标识查询,支持HTTP GET/POST请求,返回JSON格式数据,助力开发者高效利用1688海量商品资源。
|
3月前
|
JSON 数据挖掘 API
京东API接口最新指南:店铺所有商品接口的接入与使用
本文介绍京东店铺商品数据接口的应用与功能。通过该接口,商家可自动化获取店铺内所有商品的详细信息,包括基本信息、销售数据及库存状态等,为营销策略制定提供数据支持。此接口采用HTTP请求(GET/POST),需携带店铺ID和授权令牌等参数,返回JSON格式数据,便于解析处理。这对于电商运营、数据分析及竞品研究具有重要价值。
|
2月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
409 58
|
4月前
|
存储 供应链 监控
1688商品数据实战:API搜索接口开发与供应链分析应用
本文详细介绍了如何通过1688开放API实现商品数据的获取与应用,涵盖接入准备、签名流程、数据解析存储及商业化场景。开发者可完成智能选品、价格监控和供应商评级等功能,同时提供代码示例与问题解决方案,确保法律合规与数据安全。适合企业开发者快速构建供应链管理系统。
|
1月前
|
JSON 供应链 API
1688 买家订单,订单物流,订单回传接口系列(1688 寻源通 API)
1688寻源通API为开发者提供买家订单、订单物流及订单回传三大接口,助力企业实现订单管理、物流跟踪与信息反馈的自动化。买家订单接口可查询订单详情;订单物流接口支持实时跟踪物流状态;订单回传接口确保企业系统与平台数据同步。结合Python示例代码,企业可轻松集成这些功能,优化内部管理、提升客户体验并支持数据驱动决策。适用于电商订单管理、物流服务和数据分析等场景。
|
3月前
|
人工智能 搜索推荐 IDE
突破网页数据集获取难题:Web Unlocker API 助力 AI 训练与微调数据集全方位解决方案
本文介绍了Web Unlocker API、Web-Scraper和SERP API三大工具,助力解决AI训练与微调数据集获取难题。Web Unlocker API通过智能代理和CAPTCHA绕过技术,高效解锁高防护网站数据;Web-Scraper支持动态内容加载,精准抓取复杂网页信息;SERP API专注搜索引擎结果页数据抓取,适用于SEO分析与市场研究。这些工具大幅降低数据获取成本,提供合规保障,特别适合中小企业使用。粉丝专属体验入口提供2刀额度,助您轻松上手!
105 2
|
3月前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
3月前
|
JSON API 开发者
京东API最新指南:商品视频接口接入与应用
在电商领域,商品视频能有效提升销售业绩。京东商品视频接口助力开发者获取商品视频信息(播放链接、时长、格式、封面图等),通过 HTTP GET/POST 请求返回 JSON 数据,便于集成到各类应用中,优化展示效果与用户体验。本指南详解接口接入与使用方法。
|
4月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章