我正在查看 problem solution on leetcode ,并且有一个聪明的解决方案,使用 Python 的 map 函数将字符串列表转置为相等大小的矩阵,如下所示:
t = map(None, *words)
说明:
map(None, ...) 转置“矩阵”,用 None 填充缺失的点。例如:
["abc", [('a', 'd', 'f'),
"de", => ('b', 'e', None),
"f"] ('c', None, None)]
我想知道我是否可以通过 js 要点实现类似的目标
最佳答案
创建一个矩阵(长度相等):
solution=array.reduce((solution,el)=>(el.split("").forEach((letter,index)=>(solution[index]=solution[index]||[]).push(letter)),solution),[]);
//if you really need the *undefineds* :
maxlength=array.reduce((length,arr)=>Math.max(length,arr.length),0);
solution.forEach(el=>el.length=maxlength);
http://jsbin.com/nisoderini/edit?console 由于某种原因省略了解释...
检查数组中长度相等的数组:
length=array.reduce((length,arr,i)=>!i?arr.length:(length?(arr.length==length?length:false):false),0);
如果数组不是对称矩阵,则长度为 false...
检查方阵
square=array.every(arr=>arr.length==array.length);
关于javascript - JS - 将字符串列表映射到等长矩阵的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43448185/