为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以为其值对象的属性对 ES6 映射对象进行排序?

是否可以为其值对象的属性对 ES6 映射对象进行排序?

慕勒3428872 2021-08-26 17:15:19
我有一个对象值的映射。我想根据其对象值的属性对它们进行排序。这是示例地图:var map = new Map();map.set("8014",{            "Access to support": null,            "Capacity":  1,            "Comfort Level": null,            "Control Level": 1,            "Growth Mindset": 1.5405405405405403,            "Horizon": null,            "Motivation": null,            "Open-Mindedness": null,            "Proactivity": null,            "Resiliency": null,            "Segment": "Level value 1"});map.set("8015",{            "Access to support": null,            "Capacity":  1,            "Comfort Level": null,            "Control Level": 1,            "Growth Mindset": 1.5405405405405403,            "Horizon": null,            "Motivation": null,            "Open-Mindedness": null,            "Proactivity": null,            "Resiliency": null,            "Segment": "Level value 2 or 5"});map.set("8016",{            "Access to support": null,            "Capacity":  1,            "Comfort Level": null,            "Control Level": 1,            "Growth Mindset": 1.5405405405405403,            "Horizon": null,            "Motivation": null,            "Open-Mindedness": null,            "Proactivity": null,            "Resiliency": null,            "Segment": "Level value 3 or 5"});我想根据值对象的 Segment 属性对其进行排序。任何帮助将不胜感激!
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

您可以使用sort基于 Map 的条目。然后从排序的条目创建一个新的 MapSegmentlocaleCompare


var map=new Map();map.set("8014",{"Access to support":null,Capacity:1,"Comfort Level":null,"Control Level":1,"Growth Mindset":1.5405405405405403,Horizon:null,Motivation:null,"Open-Mindedness":null,Proactivity:null,Resiliency:null,Segment:"Level value 1"});map.set("8015",{"Access to support":null,Capacity:1,"Comfort Level":null,"Control Level":1,"Growth Mindset":1.5405405405405403,Horizon:null,Motivation:null,"Open-Mindedness":null,Proactivity:null,Resiliency:null,Segment:"Level value 2 or 5"});map.set("8016",{"Access to support":null,Capacity:1,"Comfort Level":null,"Control Level":1,"Growth Mindset":1.5405405405405403,Horizon:null,Motivation:null,"Open-Mindedness":null,Proactivity:null,Resiliency:null,Segment:"Level value 3 or 5"});


const sortedMap =

  new Map(

    Array.from(map)

        .sort((a, b) => a[1].Segment.localeCompare(b[1].Segment))

  );


console.log([...sortedMap.entries()])


查看完整回答
反对 回复 2021-08-26
  • 2 回答
  • 0 关注
  • 276 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信