当前位置: 首页 > 知识库问答 >
问题:

javascript - js后台返回对象根据fileName分类遍历方法优化?

苏宜人
2023-08-28

后台返回的数据如下

[  {    "fileName": "XX_NCS_FBC_20230827_2023082709_NMFC.doc",    "fileNameType": "灾害警报",    "message": "2023年 8 月 27 日 09 时               签发:发布null",    "publishTime": "2023年 8 月 27 日 09 时               签发:",    "remark": "灾害警报(风暴潮消息)",    "type": "1"  },  {    "fileName": "XX_SD_FBC_20230827_2023082709_SDMF.doc",    "fileNameType": "灾害警报",    "message": "2023年 8 月 27 日 09 时               签发:发布null",    "publishTime": "2023年 8 月 27 日 09 时               签发:",    "remark": "灾害警报(风暴潮消息)",    "type": "1"  },  {    "fileName": "XX_NCS_HL_23082708_NMFC.doc",    "fileNameType": "灾害警报",    "message": "2023年8月27日08时                   签发:发布null",    "publishTime": "2023年8月27日08时                   签发:",    "remark": "灾害警报(海浪消息)",    "type": "1"  },  {    "fileName": "JB_NCS_HL_B2023082701_2023082714_NMFC.doc",    "fileNameType": "灾害警报",    "level": "海浪蓝色警报",    "message": "2023年8月27日14时发布海浪蓝色警报",    "publishTime": "2023年8月27日14时",    "remark": "灾害警报(海浪警报)",    "type": "1"  },  {    "fileName": "JB_SD_FBC_BWD23082701_2023082716_SDMF.doc",    "fileNameType": "灾害警报",    "level": "风暴潮Ⅳ级警报(蓝色)",    "message": "2023年08月27日16时发布风暴潮Ⅳ级警报(蓝色)",    "publishTime": "2023年08月27日16时",    "remark": "灾害警报(风暴潮警报)",    "type": "1"  },  {    "fileName": "JB_NCS_FBC_BWD23082701_2023082716_NMFC.doc",    "fileNameType": "灾害警报",    "level": "风暴潮Ⅳ级警报(蓝色)",    "message": "2023年08月27日16时发布风暴潮Ⅳ级警报(蓝色)",    "publishTime": "2023年08月27日16时",    "remark": "灾害警报(风暴潮警报)",    "type": "1"  },  {    "fileName": "JB_NCS_FBC_BWD23082702_2023082808_NMFC.doc",    "fileNameType": "灾害警报",    "level": "风暴潮Ⅳ级警报(蓝色)",    "message": "2023年08月28日08时发布风暴潮Ⅳ级警报(蓝色)",    "publishTime": "2023年08月28日08时",    "remark": "灾害警报(风暴潮警报)",    "type": "1"  },  {    "fileName": "JB_SD_FBC_BWD23082702_2023082808_SDMF.doc",    "fileNameType": "灾害警报",    "level": "风暴潮Ⅳ级警报(蓝色)",    "message": "2023年08月28日08时发布风暴潮Ⅳ级警报(蓝色)",    "publishTime": "2023年08月28日08时",

要求前台根据flieName进行分类 fileName包含FBC的,放到fbc的数组里,包含HL的放到hl的数组里......以此类推加各种条件分类

现在用的是map 加 indexOf进行push 求教有没有更优雅的方法

共有1个答案

吴驰
2023-08-28

我的思路是维护一个listMap用来解耦业务代码,方便后期维护的时候添加文件类型,具体的业务实现感觉没有太多能优化的空间

const listMap = {    fbc: [],    hl: [],}data.map(itm => {    for (let key in listMap) {        if (itm.fileName.indexOf(key.toUpperCase()) !== -1) {            listMap[key].push(itm)        }    }})
 类似资料:
  • 假设每种颜色总是有一辆车。所以我总是在找一辆车,不多也不少。 如何确保始终有一个对象被找到并返回?

  • 问题内容: 我很难找到一种以我想要的方式遍历此JSON对象的方法。我在这里只使用Javascript。 首先,这是对象 现在,我正在尝试基本方法来访问此对象上的每个dialog_trunk。理想情况下,我想遍历对象,并为每个主干显示其值。 我已经尝试过使用for循环动态地生成dialog_trunk的名称/编号,但是我无法使用对象名称的字符串来访问该对象,因此我不确定从何处去。 问题答案: 为此使

  • 问题内容: 我在JavaScript中有一个对象: 我想使用循环来获取其属性。而且我想对其进行迭代(并非一次完成所有对象属性)。 通过一个简单的数组,我可以使用标准循环来做到这一点: 但是如何处理对象呢? 问题答案: 对于大多数对象,请使用: 使用ES6,如果同时需要键和值,请执行 为了避免记录继承的属性,请使用hasOwnProperty进行检查: 如果您使用的是简单对象(例如,您自己创建的对象

  • 如何在Express js中从数据库中取回对象?当我执行POST请求时,我只返回状态201,而不是响应中的对象。 按照下面的方式,它返回一个空的res.data字段,而不是对象。 要将所有对象恢复到数组中,我可以这样做:

  • 本文向大家介绍js遍历json对象所有key及根据动态key获取值的方法(必看),包括了js遍历json对象所有key及根据动态key获取值的方法(必看)的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇js遍历json对象所有key及根据动态key获取值的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我试图遍历嵌套对象以检索由字符串标识的特定对象。在下面的示例对象中,标识符字符串是“ label”属性。我无法解决如何遍历树以返回适当对象的问题。任何帮助或建议,将不胜感激。 问题答案: 您可以创建像这样的递归函数来对对象进行深度优先遍历。 可以这样称呼