Sort simver
by Alex Myronov
Babel + JSX
const arraysComparator = (arr1, arr2) => {
if (arr1.length && arr2.length) {
if (arr1[0] === arr2[0]) {
return arraysComparator(arr1.slice(1), arr2.slice(1))
}
return arr1[0] - arr2[0]
}
if (arr1.length) return 1
if (arr2.length) return -1
}
const versionsComparator = (version1, version2) =>
arraysComparator(version1.split("."), version2.split("."))
const sort = versions => versions.sort(versionsComparator)
const versions = ["1.2.1", "0.1", "1.2.13", "1", "2.3", "1.0.1.0", "2.5.0"]
console.log("sorted versions", sort(versions))