如何在JavaScript中将整个数组转为小写且保持结构不变?
将多维数组中所有字符串转为小写并保留结构的解决方案
方法一:嵌套 map 处理二维数组
如果你的数组确定是二维结构,直接用两层 map 遍历即可,代码简洁高效:
const originalArray = [ [], [ 'Tên', 'Lần 1', 'Lần 2', 'Lần 3', 'Lần 4', 'Tổng' ], [ 'Tom', '1', '0', '0', '0', '1' ], [ 'Bradey', '0', '0', '1', '0', '1' ], // 剩余元素... ]; const lowercasedArray = originalArray.map(row => row.map(item => typeof item === 'string' ? item.toLowerCase() : item) );
方法二:递归处理任意维度数组
如果数组可能是更高维度的嵌套结构,用递归方法更通用:
function convertToLowerCase(arr) { return arr.map(item => { // 若元素是数组,递归处理子数组 if (Array.isArray(item)) { return convertToLowerCase(item); } // 若元素是字符串,转小写;否则保持原内容 return typeof item === 'string' ? item.toLowerCase() : item; }); } const lowercasedArray = convertToLowerCase(originalArray);
说明
- 两种方法都会完全保留原数组的结构,空数组、空字符串、数字字符串等元素都会得到正确处理
- 现代JavaScript引擎的
toLowerCase()支持Unicode字符(比如示例中的越南语字符Tên、Lần),转小写后不会出现乱码问题
内容的提问来源于stack exchange,提问作者Original
相关产品推荐
相关产品推荐

