返回首页 | 新开户送体验金的娱乐城

合作共赢、快速高效、优质的网站建设提供商

更多精品源码-尽在织梦模板-www.moke8.com

网站开发详解JS 比力两个Json目标的值能否持平的实例

时间:2017-09-23 编辑:admin

代码如下:
//比力数组能否相反
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 array1.length;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))
{

if(obj1[ob].constructor==Array&&obj2[ob].constructor==Array)//如果特点是数组
{
if(!modeler.compArray(obj1[ob],obj2[ob]))
{
return false;
};
}
else if(typeof obj1[ob]==="string"&&typeof obj2[ob]==="string")//纯特点
{
if(obj1[ob]!==obj2[ob])
{
return false;
}
}
else if(typeof obj1[ob]==="object"&&typeof obj2[ob]==="object")//特点是目标
{
if(!modeler.compObj(obj1[ob],obj2[ob]))
{
return false;
};
}
else
{
return false;
}
}
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'},{}]}];
try {
var jjj=modeler.compArray(data01,data02);

}catch(e) {

}


浏览:

网站建设

流程

    网站建设流程