ホームページ  >  記事  >  ウェブフロントエンド  >  2つのJsonオブジェクトの値が等しいかどうかを比較するJS例の詳細説明_javascriptスキル

2つのJsonオブジェクトの値が等しいかどうかを比較するJS例の詳細説明_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 17:13:461886ブラウズ

コードをコピー コードは次のとおりです:

//比较数组是否相同
  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)//実際の属性計算を除き、2 つのオブジェクトが等しいかどうかを比較します
{
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]))
==="string"&&typeof obj2[ob }
[ob],o bj2[ob]))
🎜> }
}
else
return false;
}
}
else
{
return false;
}
}

return 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 {
throw new Error("argunment can not be null;");
}

};



テスト データ:




コードをコピー


コードは次のとおりです:


var data01=[{value:[{id: 'asa',value:'dfs'},{}]}];
var data02=[{value:[{id:'asa',value:'dfs' },{}]}];
{
var jjj=modeler.compArray(data01,data02);
を試してください
}キャッチ(e) {

}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。