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);

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值