js 题解
比较版本号
http://www.nowcoder.com/questionTerminal/2b317e02f14247a49ffdbdba315459e7
思路
1.版本号切割成数组,并且把字符串数字转成数字类型,这里有一个特别的点就是,字符串转数字的时候 '0011' 会转成 11
2.然后计算两个切割数组的长度,如果长度不一致,填充0直到长度一致
3.然后就是比较 > < 如果等于 继续寻找知道结束 返回0
// 核心代码 var arr1 = version1.split('.').map(item => Number(item)), arr2 = version2.split('.').map(item => Number(item)), maxLen = Math.max(arr1.length, arr2.length); while(arr1.length < maxLen) arr1.push(0); while(arr2.length < maxLen) arr2.push(0); for (let i = 0; i < maxLen; i++) { if (arr1[i] > arr2[i]) return 1; if (arr1[i] < arr2[i]) return -1 } return 0