使用JavaScript怎么对两个对象字段相同度进行判断
这篇文章将为大家详细讲解有关使用JavaScript怎么对两个对象字段相同度进行判断,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的溪湖网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
代码:
/** * 判断此对象是否是Object类型 * @param {Object} obj */ function isObject(obj){ return Object.prototype.toString.call(obj)==='[object Object]'; }; /** * 判断此类型是否是Array类型 * @param {Array} arr */ function isArray(arr){ return Object.prototype.toString.call(arr)==='[object Array]'; }; /** * 深度比较两个对象是否相同 * @param {Object} oldData * @param {Object} newData */ function equalsObj(oldData,newData){ // 类型为基本类型时,如果相同,则返回true if(oldData===newData)return true; if(isObject(oldData)&&isObject(newData)&&Object.keys(oldData).length === Object.keys(newData).length){ // 类型为对象并且元素个数相同 // 遍历所有对象中所有属性,判断元素是否相同 for (const key in oldData) { if (oldData.hasOwnProperty(key)) { if(!equalsObj(oldData[key],newData[key])) // 对象中具有不相同属性 返回false return false; } } }else if(isArray(oldData)&&isArray(oldData)&&oldData.length===newData.length){ // 类型为数组并且数组长度相同 for (let i = 0,length=oldData.length; i测试:
var oldArr = [1,2, [ { name:"张三", age:11, } ], { name:'李四', age:21, em:[ { address:'邯郸', phone:'123' }, { address:'北京', phone:234 } ] } ]; var newArr = [1,2, [ { name:"张三", age:11 } ], { name:'李四', age:21, em:[ { address:'邯郸', phone:'123' }, { address:'北京', phone:234 } ] } ]; console.log(equalsObj(oldArr,newArr));关于使用JavaScript怎么对两个对象字段相同度进行判断就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
本文名称:使用JavaScript怎么对两个对象字段相同度进行判断
链接URL:http://scyanting.com/article/piijog.html