美文网首页派大星爱吃小鱼干
对象数字按字母表排序

对象数字按字母表排序

作者: 程序猿阿峰 | 来源:发表于2019-09-30 17:10 被阅读0次
类似如下的对象数组按字母表排序
let list = [
  {id: "2", bankName: "吉林永衡官银钱局", initial: "J"}
  {id: "3", bankName: "澳门大西洋银行", initial: "A"}
  {id: "4", bankName: "中央银行", initial: "Z"}
  {id: "5", bankName: "中国军用代金券", initial: "Z"}
  {id: "6", bankName: "中国国库券", initial: "Z"}
  {id: "7", bankName: "大清银行", initial: "D"}
  {id: "8", bankName: "东北银行", initial: "D"}
  {id: "9", bankName: "奉天兴业银行", initial: "F"}
  {id: "10", bankName: "财政部", initial: "C"}
  {id: "11", bankName: "边业银行", initial: "B"}
  {id: "12", bankName: "香港中国银行", initial: "X"}
  {id: "13", bankName: "浙东银行", initial: "Z"}
  {id: "14", bankName: "云南富滇银行", initial: "Y"}
  {id: "15", bankName: "商办青岛地方银行", initial: "S"}
  {id: "16", bankName: "陕西富秦银行", initial: "S"}
  {id: "17", bankName: "农民银行", initial: "N"}
  {id: "18", bankName: "美商花旗银行", initial: "M"}
  {id: "19", bankName: "淮南银行", initial: "H"}
  {id: "20", bankName: "华威银行", initial: "H"}
  {id: "21", bankName: "华比银行", initial: "H"}
  {id: "22", bankName: "新疆财政厅库官票", initial: "X"}
  {id: "23", bankName: "中州农民银行", initial: "Z"}
  {id: "24", bankName: "贵州银行", initial: "G"}
  {id: "25", bankName: "浙江兴业银行", initial: "Z"}
  {id: "26", bankName: "广州市市立银行", initial: "G"}
  {id: "27", bankName: "广西省银行", initial: "G"}
  {id: "28", bankName: "广东省金库券", initial: "G"}
  {id: "29", bankName: "大江银行", initial: "D"}
  {id: "30", bankName: "热河兴业银行", initial: "R"}
  {id: "31", bankName: "呼伦贝尔官商钱局", initial: "H"}
  {id: "32", bankName: "西康省银行", initial: "X"}
  {id: "33", bankName: "黑龙江官银号", initial: "H"}
  {id: "34", bankName: "奉天官银号", initial: "F"}
  {id: "35", bankName: "贵州省银行", initial: "G"}
  {id: "36", bankName: "察哈尔兴业银行", initial: "C"}
  {id: "37", bankName: "山西省银行", initial: "S"}
  {id: "38", bankName: "陕北地方实业银行", initial: "S"}
  {id: "39", bankName: "西北银行", initial: "X"}
  {id: "40", bankName: "陕甘宁边区银行", initial: "S"}
  {id: "41", bankName: "河南省银行", initial: "H"}
  {id: "42", bankName: "浙江地方银行", initial: "Z"}
  {id: "43", bankName: "财政部平市官钱局", initial: "C"}
  {id: "44", bankName: "察南银行", initial: "C"}
  {id: "45", bankName: "冀东银行", initial: "J"}
  {id: "46", bankName: "江南商业货币券", initial: "J"}
  {id: "47", bankName: "江苏平市官钱局", initial: "J"}
  {id: "48", bankName: "江苏聚兴甡印钱局", initial: "J"}
  {id: "49", bankName: "淮海实业银行", initial: "H"}
  {id: "50", bankName: "印度新金山中国汇理银行", initial: "Y"}
  {id: "51", bankName: "青海实业银行", initial: "Q"}
  {id: "52", bankName: "商办陇东银号", initial: "S"}
  {id: "53", bankName: "甘肃银行", initial: "G"}
  {id: "54", bankName: "甘肃农民银行", initial: "G"}
  {id: "55", bankName: "丰业银行", initial: "F"}
  {id: "56", bankName: "豫章山区绥靖银行", initial: "Y"}
  {id: "57", bankName: "同益银行", initial: "T"}
  {id: "58", bankName: "南昌市立银行", initial: "N"}
  {id: "59", bankName: "南昌振商银行", initial: "N"}
  {id: "60", bankName: "江西官银钱总号", initial: "J"}
  {id: "61", bankName: "华泰银行", initial: "H"}
  {id: "62", bankName: "威海农业储蓄银行", initial: "W"}
  {id: "63", bankName: "山东工商银行", initial: "S"}
  {id: "64", bankName: "山东省库券", initial: "S"}
  {id: "65", bankName: "山东当业银行", initial: "S"}
  {id: "66", bankName: "湖南通商银行", initial: "H"}
  {id: "67", bankName: "河南农工银行", initial: "H"}
  {id: "68", bankName: "河南财政部平市官钱局", initial: "H"}
  {id: "69", bankName: "直隶省官钱局", initial: "Z"}
  {id: "70", bankName: "直隶财政部平市官钱局", initial: "Z"}
  {id: "71", bankName: "平津卫戍总司令部", initial: "P"}
  {id: "72", bankName: "京兆财政部平市官钱局", initial: "J"}
  {id: "73", bankName: "京兆银钱局", initial: "J"}
  {id: "74", bankName: "浙江银行", initial: "Z"}
  {id: "75", bankName: "江苏徐州平市官钱局", initial: "J"}
   {id: "76", bankName: "澳门中国银行", initial: "A"}
  {id: "77", bankName: "香港政府", initial: "X"}
  {id: "78", bankName: "香港汇丰银行", initial: "X"}
  {id: "79", bankName: "香港有利银行", initial: "X"}
  {id: "80", bankName: "东藩汇理银行", initial: "D"}
  {id: "81", bankName: "香港中华汇理银行", initial: "X"}
  {id: "82", bankName: "香港渣打银行", initial: "X"}
  {id: "83", bankName: "台湾银行", initial: "T"}
  {id: "84", bankName: "中国银行外汇兑换券", initial: "Z"}
  {id: "85", bankName: "苏联红军司令部", initial: "S"}
  {id: "86", bankName: "日本帝国政府", initial: "R"}
  {id: "87", bankName: "四川地方银行", initial: "S"}
  {id: "88", bankName: "山东省军用票", initial: "S"}
  {id: "89", bankName: "农工商信托有限公司", initial: "N"}
  {id: "90", bankName: "国民军军票", initial: "G"}
  {id: "91", bankName: "广西军用票", initial: "G"}
  {id: "92", bankName: "赣省民国银行", initial: "G"}
  {id: "93", bankName: "中华民国粤省军政府", initial: "Z"}
  {id: "94", bankName: "中华民国军用钞票", initial: "Z"}
  {id: "95", bankName: "直鲁省军用券", initial: "Z"}
  {id: "96", bankName: "镇威军兵站库券", initial: "Z"}
  {id: "97", bankName: "光华商店", initial: "G"}
  {id: "98", bankName: "滇黔桂边区贸易局", initial: "D"}
  {id: "99", bankName: "东蒙银行", initial: "D"}
  {id: "100", bankName: "上党银号", initial: "S"}
]

定义一个排序的方法

        // 序列化排序
        normalizeBank: function(list) {
            var map = {
                hot: {
                    title: '中国人民银行',
                    items: []
                }
            }
            for(var i = 0; i < list.length; i++) {
                if (list[i].bankName == '中国人民银行') {
                    map.hot.items.push({
                        id: list[i].id,
                        bankName: list[i].bankName
                    })
                }
                var key = list[i].initial
                if (!map[key]) {
                    map[key] = {
                        title: key,
                        items: []
                    }
                }
                map[key].items.push({
                    id: list[i].id,
                    bankName: list[i].bankName
                })
            }
            var ret = []
            var hot = []

            for (var key in map) {
                var val = map[key]
                if (val.title.match(/[a-zA-Z]/)) {
                    ret.push(val)
                } else if (val.title === '中国人民银行') {
                    hot.push(val)
                }
            }
            ret.sort(function(a, b) {
                return a.title.charCodeAt(0) - b.title.charCodeAt(0)
            })

            return hot.concat(ret)
        }

3. 调用方法实现排序

效果图

相关文章

  • 对象数字按字母表排序

    类似如下的对象数组按字母表排序 定义一个排序的方法 3. 调用方法实现排序

  • Day40 《简约至上-组织》读书笔记

    字母表、热门程度和格式 按字母排序的结果仍然很乱,虽然按字母排序看起来简单,但其结果通常很难用。 按热门程度排序也...

  • 数组及其ES5特性,字符串小结

    数组 基本使用和一些常用方法 排序 sort sort方法用于对数组进行排序,当没有参数的时候会按字母表升序排序,...

  • 数组的常见知识

    数组创建 Array对象属性 Array对象方法 数字排序 数组去重

  • js中对象数组按对象属性排序

    数组对象要按属性大小排序怎么办? 数组对象属性排序 我们要如何实现数组中的对象按data大小排序? sort方法 ...

  • 使用tablesorter排序时 Uncaught TypeEr

    以倒序排序第四列代码: 错误原因: 排序的列不是数字,或可排序的对象 解决方案: 不要对非数字等不可排序的列排序。

  • 测试图片按数字排序并每6个重命名

    需求: 1)把文件按后面的数字排序(字母-数字.bmp) 2)把上述排序所得的文件每6个读取并加上递增数字前缀

  • java 数组和list排序

    数组排序 其中有数组排序和数组对象排序 数组一些数字排序则直接用Arrays.sort()加数组就可以。数组对象则...

  • 对象按key值排序

    一般在进行接口数据加密情况下,前端需要将传入后台的参数按照ASCII排序,然后传给后台。我们就可以利用js的原生方...

  • sort

    sort 命令 命令简介 将输入按照一定方式排序,然后再输出,它支持的排序有按字典排序,数字排序,按月份排序,随机...

网友评论

    本文标题:对象数字按字母表排序

    本文链接:https://www.haomeiwen.com/subject/azyguctx.html