类似如下的对象数组按字母表排序
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. 调用方法实现排序
网友评论