繁体   English   中英

如何检查JavaScript中两对数字是否相等

[英]How to check if two pairs of numbers are equal in javascript

我是JavaScript的新手,我想知道如何比较两对数字。 我有两个数组,数组中的每个元素都是成对格式。 例如,我使用以下格式的数组:

   [(37.4,122.7), (38.4,133.2)....] 

对于每个数组。 现在,如何比较这两个数组的每个元素是否相等? 我尝试了检查它们是否相等的常规方法:

   a[i] == b[i]

   a[i] === b[i]

他们似乎不起作用。 有人可以建议一种方法吗? 我正在将这种格式的JSON数组加载到变量'jarr'中,并将其解析为jString:

   [{"ip":"150.101.33.44","latitude":-27.0,"longitude":133.0},
   {"ip":"150.101.33.24","latitude":-27.0,"longitude":133.0},
   {"ip":"150.101.33.7","latitude":-27.0,"longitude":133.0},
   {"ip":"150.101.33.22","latitude":-27.0,"longitude":133.0},
   {"ip":"72.14.221.174","latitude":37.4192,"longitude":-122.0574}]

请在下面找到代码:

   var temp = 0;
   var lat_lng = new Array(100);
   var ipArr = new Array(100);
   var jarr = '<%=request.getAttribute("locArr") %>';//This is JSON array. 
   var jString = JSON.parse(jarr);

   for(key in jString){

    var lat = JSON.stringify(jString[key].latitude);
    var lon = JSON.stringify(jString[key].longitude);
    var myLatlng = new google.maps.LatLng(lat, lon);
    flag=0;

    for(var i=0;i<=temp;i++){
        if(key==0)
            {
            src="Source";
            }
        else
            {
            if(key==jString.length-1)
                {
                dest="Destination";
                }
            else
                {
                src="";
                dest="";
                }
            }
        if(key==0)
            {
            lat_lng[temp] = myLatlng;
            var a=lat_lng[i];
            ipArr[temp] = src+dest+ JSON.stringify(jString[key].ip);
            temp++;
            i++;

            }
            if(lat_lng[i] === myLatlng){ //This is where I am trying to compare
                flag=1;
                alert(flag);
                ipArr[i] +=  src+dest+JSON.stringify(jString[key].ip);
                i++;
            }


    }


    if(flag == 0)
    {
        lat_lng[temp] = myLatlng;
        ipArr[temp] = src+dest+ JSON.stringify(jString[key].ip);
        temp++;

    }


}

谢谢!

假设ab是数组,则可以执行以下操作:

a.join() == b.join()

.join()会将数组转换为字符串,然后将其进行比较

尝试这个,

var array1 = [[33.22, 22, 40], [41.33, 33, 41]];
var array2 = [[32.22, 22, 40], [42.33, 33, 41]];

for(var i = 0; i < array1.length; i++){
    for(var j = 0; j < array1[i].length; j++){
        if(array1[i][j] == array2[i][j]){
            alert(array1[i][j] + " and " + array2[i][j] + " are equal." );
        }

        else{
            alert(array1[i][j] + " and " + array2[i][j] + " are not equal." );
        }
    }
}

jsFiddle演示

我已将其像下面一样投射到String上,它帮助我比较了两对:

   if(String(a[i]) == String(b[i]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM