JavaScript 求整数区间[a,b]和[c,d]的交集

var area1="[-5,6]";
var area2="[-3,7]";
var array1=[],array2=[],all=[],conNum,connNum;
function way(area1,area2){
    var con1=area1.split(",");
    var con2=con1.toString().split("[");
    var con3=con2.toString().split("]");

    var conn1=area2.toString().split(",");
    var conn2=conn1.toString().split("[");
    var conn3=conn2.toString().split("]");

    var con=con3.toString().split(",");
    var conn=conn3.toString().split(",");

    for(var i=1;i<(con[2]-con[1]);i++){
            conNum=parseInt(con[1])+i;
            array1.push(conNum);

    }
    for(var j=1;j<(conn[2]-conn[1]);j++){
            connNum=parseInt(conn[1])+j;
            array2.push(connNum);
        }
    console.log(array1)
    console.log(array2)
    if(array1.length > array2.length){
        for(var n=0;n<array2.length;n++){
            for(var m=0;m<array1.length;m++){
                if(array2[n] == array1[m]){
                    all.push(array1[m]);
                }else{

                }
            }

        }
    }else{
        for(var n=0;n<array1.length;n++){
            for(var m=0;m<array2.length;m++){
                if(array1[n] == array2[m]){
                    all.push(array1[n]);
                }
            }

        }
    }
    console.log("交集:{"+all+"}");
}

way(area1,area2);

感觉这个方法有点笨拙,大家如果有什么高级的想法欢迎留言


版权声明:本文为qq_26769677原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。