所以我试图在stackoverflow上解决这个问题
问题链接:https ://leetcode.com/problems/reorder-data-in-log-files/
问题: 基本上,我们需要重新排序日志,以便所有字母日志都排在任何数字日志之前。字母日志按字典顺序排序,忽略标识符,标识符用于平局。数字日志应按其原始顺序放置。
对于这个问题,我也写了这个
/**
* @param {string[]} logs
* @return {string[]}
*/
var reorderLogFiles = function(logs) {
const letterLogs = []
const digitLogs = []
let i = 0;
while (i<logs.length) {
const logger = logs[i]
const secondWordIndex = logger.indexOf(' ') + 1
console.log(logger[secondWordIndex])
if (isNaN(logger[secondWordIndex])) letterLogs.push(logger)
else digitLogs.push(logger)
i++
}
return [...letterLogs, ...digitLogs]
};
但这不是按字典顺序排列的,因为我不确定按字典顺序排列是什么意思
这是给定的输入/输出
Input: logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"]
Output: ["let1 art can","let3 art zero","let2 own kit dig","dig1 8 1 5 1","dig2 3 6"]
问题:有人可以帮我为上述问题制定算法吗?我试过做letterLogs.sort((a,b) => a.localeCompare(b)),但也没有用。