JavaScript - 如何增加计数

JavaScript - How to increase count

当我将 IP(10.31.68.0/22) 变量与当前下面的脚本一起使用时,它将 return 输出:10.31.68.1 - 10.31.68.10

var network = '10.31.68.0/22';
var IPstart = network.toString().substring(0,network.lastIndexOf('.')) + ".1";                      
var IPend = network.toString().substring(0,network.lastIndexOf('.')) + ".10";               
var excludename = IPstart+"-"+IPend;

我正在寻找如下所示的内容(输出)。 68 占位符应增加 +1,如下所示。

10.31.68.1 - 10.31.68.10

10.31.69.1 - 10.31.69.10

10.31.70.1 - 10.31.70.10

10.31.71.1 - 10.31.71.10

您需要使用循环拆分和连接值

var network = '10.31.68.0/22';
    var IPstart = network.toString().substring(0,network.lastIndexOf('.')) + ".1";
    var IPend = network.toString().substring(0,network.lastIndexOf('.')) + ".10";
    var excludename = IPstart+"-"+IPend;
    var upToNumber=4;
    for(var i=0;i<upToNumber;i++){
        var res_ipstart = IPstart.split(".");
    res_ipstart[2]=parseInt(res_ipstart[2]) + i;
    var ip_start = res_ipstart.join(".");

        var res_ipend = IPend.split(".");
    res_ipend[2]=parseInt(res_ipend[2]) + i;
    var ip_end = res_ipend.join(".");

    var output=ip_start+"-"+ip_end;
    console.log(output);
    }

应该这样做:

/* Remove the slash */
let rawIp = "10.31.68.1/22";
let rawIpParts = rawIp.split("/");

/* Split the new ip */
let ip = rawIpParts[0];
let ipParts = ip.split(".")

/* Append 0 */
ipParts[3] = ipParts[3].concat("0");

/* Output Array */
let output = []

/* Loop and increment */
for(let index = 0; index <= 4; index++) {
  ipParts[2] = 1 + +ipParts[2];
  output.push(ipParts.join("."));
}

/* Print */
console.log(output);

希望对您有所帮助!