我有一个JavaScript对象数组:
var objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
Run Code Online (Sandbox Code Playgroud)
如何根据last_nomJavaScript中的值对它们进行排序?
我知道sort(a,b),但这似乎只适用于字符串和数字.我是否需要为toString()对象添加方法?
这是软件版本号:
"1.0", "1.0.1", "2.0", "2.0.0.1", "2.0.1"
Run Code Online (Sandbox Code Playgroud)
我该如何比较?假设正确的顺序是:
"1.0", "1.0.1", "2.0", "2.0.0.1", "2.0.1"
Run Code Online (Sandbox Code Playgroud)
这个想法很简单......:读取第一个数字,然后读取第二个数字,然后读取第三个数字....但是我无法将版本号转换为浮点数....你也可以看到版本号就像这个:
"1.0.0.0", "1.0.1.0", "2.0.0.0", "2.0.0.1", "2.0.1.0"
Run Code Online (Sandbox Code Playgroud)
这更清楚地看到背后的想法是什么......但是,如何将其转换为计算机程序?有没有人知道如何排序这个?谢谢.
有没有人有代码来比较JavaScript中的两个版本号?我只想要简单的版本比较(例如"1.0"vs "1.5.6"),它应该与数字或字符串一起使用.它可以忽略尾随的beta标识符"1.5.6b4",但可以预期字符串格式正确.该函数应该返回一个有符号整数,就像普通的cmp函数一样.
function cmpVersion(a, b)
return less than one if a < b
return 0 if a == b
return greater than one if a > b
Run Code Online (Sandbox Code Playgroud)
我有一个答案,但会选择一个比我自己更好或更优雅的解决方案.
(我用它来比较jQuery.browser.version数字,但答案会更广泛适用)