sort mixed IP + DNS
by Christopher Stephens
JavaScript
function sorta(a, b) {
console.log(arguments);
var aa = a.split(".", 4);
var ba = b.split(".", 4);
var resulta = a;
var resultb = b;
if(aa.length === 4 && ba.length === 4){
resulta = (+aa[3] + (+aa[2] * 256) + (+aa[1] * Math.pow(256, 2)) + (+aa[0] * Math.pow(256, 3)));
resultb = (+ba[3] + (+ba[2] * 256) + (+ba[1] * Math.pow(256, 2)) + (+ba[0] * Math.pow(256, 3)));
console.log(resulta+":"+resultb+"="+(resulta - resultb));
return resulta - resultb;
}else{
if(aa.length === 4){
return 1
}else if(ba.length === 4){
return -1
}else{
return resulta - resultb;
}
}
}
var test = ["hi man", "12.3.5.4", "metoo.com", "1.1.1.1", "1.2.3.4", "4.4.3.3"];
console.log(test.sort(sorta));