>  기사  >  웹 프론트엔드  >  두 Json 객체의 값이 equal_javascript 스킬인지 비교하는 JS 예제에 대한 자세한 설명

두 Json 객체의 값이 equal_javascript 스킬인지 비교하는 JS 예제에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 17:13:461885검색

코드 복사 코드는 다음과 같습니다.

//比较数组是否相同
  modeler.compArray=function(array1,array2)
  {
   if((array1&&typeof array1 ==="object"&&array1.constructor===Array)&&(array2&&typeof array2 ==="object"&&array2.constructor===Array))
   {
      if(array1.length==array2.length)
      {
       for(var i=0;i       {
        var ggg=modeler.compObj(array1[i],array2[i]);
        if(!ggg)
        {
         return false;
        }

       }

      }
      else
      {
       return false;
      }
   }
   else
   {
    throw new Error("argunment is  error ;");
   }

return true;
};
modeler.compObj=function(obj1,obj2)//실제 속성 계산을 제외하고 두 객체가 동일한지 비교
{
if(( obj1&&typeof obj1== ="object")&&((obj2&&typeof obj2==="object")))
{ var count1=modeler.propertyLength(obj1);
var count2=modeler.propertyLength( obj2);
if (count1==count2)
{
for(var ob in obj1)
{
if(obj1.hasOwnProperty(ob)&&obj2.hasOwnProperty(ob))
{ [ob], obj2[ob]))
                                                                                               >                                                ​[ob],o bj2[ob]))
                                          > 🎜> false 반환;
}
}
else
{
false 반환;
}
}

true 반환;
};
modeler.propertyLength=function(obj)//객체 프로토타입의 속성을 제외하고 객체의 속성 수를 가져옵니다.
{
var count =0;
if(obj&&typeof obj=== "object") {
for(var ooo in obj) {
if(obj.hasOwnProperty(ooo)) {
count ;
}
}
return count;
}else {
새로운 오류 발생("인수는 null일 수 없습니다.");
}

};



테스트 데이터:




코드 복사


코드는 다음과 같습니다.


var data01=[{value:[{id: 'asa',값:'dfs'},{}]}];
var data02=[{값:[{id:'asa',값:'dfs' },{}]}];
{
var jjj=modeler.compArray(data01,data02);
를 시도해 보세요.
}catch(e) {

}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.