最近群里两个小伙伴都碰到了IP地址排序问题。其实这是一个比较简单的问题。这里演示3种方法。同时借此介绍一些aardio基本操作。
假设我们有一个IP地址数组,利用table.sort对其排序:
var ips={
"214.211.116.67";
"210.141.143.28";
"166.55.54.238";
"209.10.38.184";
"24.232.161.138";
"87.146.226.181";
"18.146.130.66";
"54.161.109.178";
"230.201.143.157";
"212.28.222.41"
}
第一种方法:把ip分成4个整数,逐个比较。
import console;
table.sort(ips,function(next){
//owner代表当前元素,next代表下一个元素
var a=string.split(owner,".")
var b=string.split(next,".")
for (i=1;4){
//相等则比较下一个整数,不相等则判断大小完成排序
if a[i]=b[i] continue;
return a[i]-b[i]<0;
/*
//也可以像下面这样写
if tonumber(a[i])<tonumber(b[i]) return true;
if tonumber(a[i])>tonumber(b[i]) return false;
*/
}
})
console.dump(ips)
console.pause(true);
第二种方法:通过