如何将分组变位词后的嵌套数组按指定格式分行打印
变位词分组函数的输出格式修改方案
你现有的变位词分组函数逻辑是对的,只是输出格式需要调整。当前console.log(Object.values(result))会直接打印嵌套数组的默认格式,要改成你想要的样式,可以这样修改:
修改函数里的console.log部分,把嵌套数组转换成指定格式的字符串:
function groupAnagrams(strs) { let result = {}; for (let word of strs) { let cleansed = word.split("").sort().join(""); if (result[cleansed]) { result[cleansed].push(word); } else { result[cleansed] = [word]; } } // 转换为目标格式并打印 const formattedOutput = Object.values(result) .map(group => group.join(', ')) .join('\n\n'); console.log(formattedOutput); return Object.values(result); }
逻辑说明:
Object.values(result)保留原逻辑,获取分组后的嵌套数组.map(group => group.join(', '))将每个变位词组(子数组)转换为逗号加空格分隔的字符串,比如['abc', 'bac', 'cba']会变成"abc, bac, cba".join('\n\n')用两个换行符连接所有组的字符串,实现组与组之间空一行的效果
调用修改后的函数后,控制台会输出你期望的格式:
abc, bac, cba fun, fun, unf hello
内容的提问来源于stack exchange,提问作者hulike2286
相关产品推荐
相关产品推荐

