技术开发 频道

Javascript对象的比较


【IT168技术文档】

// //Compare object function // function Compare(fobj,sobj) { var ftype = typeof(fobj); var stype = typeof(sobj); if (ftype == stype) { if (ftype == "object") { if (fobj.constructor == Array && sobj.constructor == Array)//array { return CompareArray(fobj,sobj) } else if (fobj.constructor != Array && sobj.constructor != Array)//object { return CompareObject(fobj,sobj); } return false; } return fobj == sobj; } return false; } function CompareObject(fobj,sobj) { for (var ele in fobj) { if (sobj[ele] == undefined) return false; if (!Compare(fobj[ele],sobj[ele])) { return false; } } return true; } function CompareArray(farr,sarr) { if (farr.length != sarr.length) { return false; } for (var i = 0; i < farr.length; i++) { if (!Compare(farr[i],sarr[i])) { return false; } } return true; }
0
相关文章