// 定义函数sortByPinyin function sortByPinyin(arr) { // 定义一个空对象 let obj = {}; // 遍历数组 for (let i = 0; i < arr.length; i++) { // 获取每一项的拼音首字母 let key = arr[i].pinyin.charAt(0); // 如果不存在该字母,则新增一个以字母为键,以该字母开头的项的数组为值 if (!obj[key]) { obj[key] = [arr[i]]; // 如果该字母已存在 } else { // 获取该字母对应的数组 let tempArr = obj[key]; // 向该数组中添加该项 tempArr.push(arr[i]); // 将该数组赋值给该字母 obj[key] = tempArr; } } // 定义一个空数组,用来存放排好序的数据 let result = []; // 将对象的键转为数组,用来排序 let keys = Object.keys(obj).sort(); // 遍历数组 for (let i = 0; i < keys.length; i++) { // 获取每一项的值,并将其赋值到空数组中 result = result.concat(obj[keys[i]]); } // 返回排好序的数据 return result; }

JavaScript 实现按拼音顺序排序数据

原文地址: https://www.cveoy.top/t/topic/ll0F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录