JavaScript中如何按首字母整理数组为指定一维输出格式
实现方案
要完成这个数组转换,核心是按首字母分组,每组前置首字母标识,同时筛选掉不需要的元素,具体实现步骤如下:
步骤1:明确需求细节
原数组里的Akalya、Kavitha两个元素不在目标数组中,需要先移除;另外目标数组中Kamal的分组标识是小写k,需单独处理(如果是输入笔误,可改为统一大写)。
步骤2:JavaScript 实现代码
const originalArray = ['Ajith', 'Arya', 'Akalya', 'Akila', 'Bharath', 'Bhakya', 'Kavitha', 'Kamal', 'Bavi']; // 1. 按首字母大写对元素分组 const groups = {}; originalArray.forEach(item => { const initial = item.charAt(0).toUpperCase(); if (!groups[initial]) groups[initial] = []; groups[initial].push(item); }); // 2. 过滤分组里不需要的元素 groups.A = groups.A.filter(name => name !== 'Akalya'); groups.K = groups.K.filter(name => name !== 'Kavitha'); // 3. 转换为目标格式,处理K组的小写标识 const result = []; for (const [key, names] of Object.entries(groups)) { // 若无需小写k,直接使用key即可 const groupKey = key === 'K' ? 'k' : key; result.push(groupKey, ...names); } console.log(result); // 输出:["A", "Ajith", "Arya", "Akila", "B", "Bharath", "Bhakya", "Bavi", "k", "Kamal"]
代码说明
- 先通过首字母大写完成分组,便于后续批量处理元素;
- 针对分组过滤掉不需要的元素,精准匹配目标数组的内容;
- 遍历分组将标识和元素依次推入结果数组,按需处理
K组的小写标识; - 如果目标数组的
k是笔误,删除groupKey的判断逻辑,直接用key就能得到全大写的分组标识。
内容的提问来源于stack exchange,提问作者Siddarth
相关产品推荐
相关产品推荐

