var cities = [
{area_name: "北京市", abbr_name: "北京", abbr_name_pinyin: "beijing", code: 110100},
{area_name: "黄山市", abbr_name: "黄山", abbr_name_pinyin: "huangshan", code: 341000},
{area_name: "厦门市", abbr_name: "厦门", abbr_name_pinyin: "xiamen", code: 350200},
{area_name: "运城市", abbr_name: "运城", abbr_name_pinyin: "yuncheng", code: 140800},
];
let arr = [];
let obj = {};
for (let i = 0; i < 26; i++) {
const key = String.fromCharCode(65 + i);
obj[key] = {
title: key,
lists: []
}
cities.map((v, k) => {
let firstIndex = v.abbr_name_pinyin.charAt(0).toUpperCase();
if (firstIndex.toUpperCase() == String.fromCharCode(65 + i)) {
obj[key].lists.push(v);
}
})
if (obj[key].lists === undefined || obj[key].lists.length == 0) {
continue;
} else {
arr.push(obj[key]);
}
}
console.log(arr);