Comments (2)
function versionSort(arr) {
//1.
// 先将版本号每一位放到数组保存
var temp = arr.map(v => v.split("."))
//利用sort属性排序传入规则函数
function rule(a, b) {
var j = 0
var minLen = Math.min(a.length, b.length)
while (j < minLen) {
if (parseInt(a[j]) > parseInt(b[j])) {
return 1
} else if (parseInt(a[j]) < parseInt(b[j])) {
return -1
}
j++
}
// 遇到1.5与1.5.5的情况上面无法判断
if (minLen == a.length) {
return -1
} else if (minLen == b.length) {
return 1
}
}
// 将比较后的版本从数组形式转为.的形式
return temp.sort(rule).map(v => v.join("."))
//2.同样的道理,写法更简单
function rule(a, b) {
var arr1 = a.split(".")
var arr2 = b.split(".")
var i = 0
while (true) {
var s1 = arr1[i],
s2 = arr2[i++]
if (s1 === undefined || s2 === undefined) return arr1.length - arr2.length //1.5与1.5.5的情况
if (s1 === s2) continue //相等就继续循环
return s1 - s2
}
}
return arr.sort(rule)
}
from front-end-interview.
遇到两次
from front-end-interview.
Related Issues (20)
- 讲一下vuex
- 二叉树后序遍历 HOT 1
- 合并区间 HOT 1
- 字符串数字相加
- 发布订阅模式 HOT 1
- Vue和React的区别是什么
- 实现Promise的all方法
- src和href区别
- 随机数(洗牌算法) HOT 1
- 事件的target/currentTarget的区别 HOT 1
- 实现trim功能
- 类似逆波兰表达式的算法题 HOT 1
- Vue中key的作用
- 十进制转二十六进制
- 找出位置连续的最长递增序列 HOT 1
- 二叉搜索树的第K大的值
- 输入URL到浏览器显示页面的过程
- HTTP1.0/1.1/2.0/3.0
- 已上岸鹅厂WXG
- 关于面试的建议
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from front-end-interview.