实现:

实现产生n个随机数,把n个随机数存入一个数组,对数组做去重,再排序,再使用table.left取出m个有序的数存入另一个数组并打印。附件是结果


import console;
  
console.setTitle("IP_DHCP_list");

//产生num个随机数
var num = console.getNumber( "请输入整体ip地址个数(小于等于255个):" )    

if(num > 255){
	console.log("超出范围")
} 

list_ip={};
list_temp={};

//把num个随机数压入list_ip组中
for(i=1;num;1){
	table.push(list_ip,math.random(1, num))
}

console.log("================================================")
//判断,如果在list_temp中找不到list_ip的值,就把这个值存入list_temp中
for (k,v in list_ip) {
	if not (table.find(list_temp,v)){
		table.push(list_temp,v)
	}
}

//对list_temp数组做排序
table.sort(list_temp)

//输出去重后的可用地址
for(k,v in list_temp ){
	console.log(k,"192.168.1."++v)
}

var sern = console.getNumber( "请输入新加入的服务器数目:" );
var list_dhcp = {};
//判断需求的地址数目是否满足,如果满足,则从list_temp中从前向后取出
if( sern > table.count(list_temp)){
	console.log("可用地址不足!")
}
else {
	table.push(list_dhcp,table.left(list_temp,sern))
	for(k,v in list_dhcp){
		console.log(k++"的当前分配的地址为:")
		console.log("192.168.1."++v)	
	}	
}

console.pause();