Если вы хотите отсортировать по полному адресу, неплохо было бы написать тонкую оболочку для массива, содержащего байты:
function IP4() {
var ip = Array.prototype.slice.call(arguments, 0, 4);
ip.toString = IP4.toString;
ip.valueOf = IP4.valueOf;
return ip;
}
IP4.toString = function() {
return this.join('.');
};
IP4.valueOf = function() {
return (this[0] << 24) | (this[1] << 16) | (this[2] << 8) | this[3];
};
var LAN = [
["ADSL Router", IP4(192, 168, 0, 1)],
["Gary's Mac", IP4(192, 168, 0, 15)],
["Network Switch", IP4(192, 168, 0, 2)],
["Production Email", IP4(192, 168, 0, 60)]
];
LAN.sort(function(a, b) { return a[1] - b[1]; });