Javascript 11-lines Self-Explaining Solution !
\nvar reorderLogFiles = function(logs) {\n    var letters = [], nums = [];\n    \n    // Separate digit-logs from letter-logs\n    logs.forEach(function(log) {\
```\nvar reorderLogFiles = function(logs) {\n    var letters = [], nums = [];\n    \n    // Separate digit-logs from letter-logs\n    logs.forEach(function(log) {\n        if((/[0-9]/i).test(log[log.indexOf(" ") + 1])) nums.push(log);\n        else\n            letters.push(log);\n    });\n    // Sort letter-logs\n    letters.sort(function(a, b) {\n        var cmp = a.slice(a.indexOf(" ")).localeCompare(b.slice(b.indexOf(" ")));\n        return cmp === 0 ? a.localeCompare(b) : cmp;\n    });\n    \n    return [...letters, ...nums];\n};\n```
[]