Javascript Split and Merge
Split the LOGS into letters and digits log. Followed with sorting the letters log and finally merging them to provide the result\n\n\n/**\n * @param {string[]} 
Split the LOGS into letters and digits log. Followed with sorting the letters log and finally merging them to provide the result\n\n```\n/**\n * @param {string[]} logs\n * @return {string[]}\n */\nvar reorderLogFiles = function(logs) {\n    const digits = [],\n          letters = []\n    \n    for (const log of logs) {\n        if (isFinite(log.split(\' \')[1])) digits.push(log)  // digit log\n        else letters.push(log)  // letter log\n    }\n    \n\t// Sorting the letters log based on condition of lexio order without and with key (example: \'let1\')\n    letters.sort((a,b) => {\n        let l1 = a.split(\' \').slice(1).join(\' \'),\n            l2 = b.split(\' \').slice(1).join(\' \')\n        \n        if (l1 === l2) return a > b ? 1 : -1\n        return l1 > l2 ? 1 : -1\n    })\n    \n    return [...letters, ...digits]\n};\n```\n\nRuntime: 80 ms, faster than 32.04% of JavaScript online submissions for Reorder Data in Log Files.\nMemory Usage: 36.8 MB, less than 71.43% of JavaScript online submissions for Reorder Data in Log Files.\n\nAnyways lately I\'m seeing weird performance metrics here.\n\nExample, for same piece of code below are performance metrics\n\na few seconds ago\tAccepted\t80 ms\t36.8 MB\tjavascript\na few seconds ago\tAccepted\t92 ms\t36.1 MB\tjavascript\na few seconds ago\tAccepted\t108 ms\t36.8 MB\tjavascript\na few seconds ago\tAccepted\t112 ms\t36.5 MB\tjavascript\na few seconds ago\tAccepted\t124 ms\t36.8 MB\tjavascript\na few seconds ago\tAccepted\t84 ms\t36.8 MB\tjavascript\n\nI would suggest not to go by performance metrics showcased for identifying better approach rather stick to Time Complexity and Space Complexity as metrics
['JavaScript']