有序map和无序map_map怎么实现有序

有序map和无序map_map怎么实现有序【业务】JS中的有序Map与无序Object

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

为什么会有这篇文章

笔者最近在进行业务开发的时候遇到了遇到了一个数据格式的问题。

问题:将一个团队中成员的婚姻状况分别以人数和百分比的方式展示出来。

要求的效果如下:

未婚 已婚 单身 丧偶 总数
人数 0 2 2 0 5
百分比 0% 50% 50% 0 100%

后端给到的数据结构如下:
后端给到的数据结构
后端没有提供接口来获取对应的枚举值,所以只有前端也实现一个枚举与后端返回的数据结构进行对应。
前端对应后端的枚举值实现
这样程序运行了很久没有问题,突然有一天产品提出一个需求,要求把已婚字段放在最前面。技术Leader要求不修改后端的代码由前端实现,于是笔者便想到了使用有序Map来实现对应的功能。

Map与对象的区别

Object是JS中的一种数据类型,所有的基础数据类型都继承Object进行实现。
在JS中Map也是继承自Object进行实现的。

有序Map

在JS中有序Map通过Map对象进行实现。
上面的需求通过Map进行实现之后为
Map实现需求

无序Object

js中常规对象都是无序map,如果属性值中存在typeof Numebr(key) === ‘number’ 为true的情况会顺序不会按照理想的顺序来排列。

总结

在JS中使用Map来存储数据如果不涉及枚举或者没有顺序要求使用Object进行实现,如果存在顺序要求使用有序Map进行实现。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193399.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 布隆过滤器原理以及应用_bitmap与布隆过滤器

    布隆过滤器原理以及应用_bitmap与布隆过滤器1.先说下背景,肯定遇到这种情况,判断元素在不在一个集合里面,如果,集合里面的元素非常大,这个判断过程是非常耗时的,而且集合占用空间也很大。2.应用场景,网页黑名单,垃圾邮件过滤,电话黑名单,url去重,内容推荐等。3.原理:布隆过滤器实际上就是一个字节数组,字节数组的值是0或1,在添加元素的时候,对值通过多个hash函数的计算,得到多个0,1然后在字节数组里面在相应的位置设置值。这样处理…

    2022年10月7日
    3
  • 》》初识移动端–rem

    》》初识移动端–rem<!DOCTYPEhtml><html><head><metacharset=”utf-8″/><metaname=”viewport”content=”width=device-width,user-scalable=no,initial-scale=1.0,ma…

    2022年7月24日
    9
  • 解决windows系统80端口被占用问题

    解决windows系统80端口被占用问题80端口被system(pid=4)系统占用的解决方法,80端口占用后服务器无法运行

    2025年7月28日
    3
  • pytest fixtures_pytest allure

    pytest fixtures_pytest allurefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月29日
    5
  • ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter

    ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter用于执行增,删,改的方法,支持存储过程1.ExecuteNonQuery数据库连接字符串:privatereadonlystaticstringconnectionString=ConfigurationManager.ConnectionStrings["MyConnection"].ToString();连接字符串,自满足,请用SqlHelper.con…

    2022年6月20日
    31
  • 没有智商,善良有个P用

    没有智商,善良有个P用文|江夜雨我们平时最常遇到的麻烦,往往都来自“好人们”。你的大伯,一位家庭健康的坚定守卫者。每天发送各类伪科学:“西医是药,中医是养,你还在迷信西医吗?”“疫苗就是病毒,小孩能受得了吗?”抗住儿媳的巨大压力,他坚决不让自己的孙子接种疫苗,小孩后来成功患上乙肝,小夫妻几乎闹到离婚。他委屈,我是好心啊。你的同事,一位关心全世界人…

    2022年6月4日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号