介绍
这篇文章将为大家详细讲解有关使用JavaScript怎么对两个对象字段相同度进行判断,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>代码:强>
/* * *,判断此对象是否是对象类型 *,@param {对象},obj */function isObject (obj) { return Object.prototype.toString.call (obj)===& # 39; [object 对象]& # 39;; };/* * *,判断此类型是否是数组类型 *,@param 数组{},arr */function isArray (arr) { return Object.prototype.toString.call (arr)===& # 39; [object 数组]& # 39;; };/* * *,深度比较两个对象是否相同 *,@param {对象},oldData *,@param {对象},newData */function equalsObj (oldData newData) {//,类型为基本类型时,如果相同,则返回现实 如果(oldData=https://www.yisu.com/zixun/==newData)返回true; 如果(isObject oldData &&isObject (newData) &&Object.keys (oldData)。长度===种(newData) . length) {//类型为对象并且元素个数相同//遍历所有对象中所有属性,判断元素是否相同 (const关键oldData) { 如果(oldData.hasOwnProperty(关键)){ 如果(! equalsObj (oldData(关键),newData[主要]))//对象中具有不相同属性返回错误的 返回错误; } } }else if (isArray (oldData) &&isArray (oldData) &&oldData.length===newData.length) {//类型为数组并且数组长度相同 (让我=0,长度=oldData.length;我<长度;我+ +){ 如果(! equalsObj (oldData[我],newData[我]))//如果数组元素中具有不相同元素,返回错误的 返回错误; } 其他}{//其它类型,均返回错误的 返回错误; }//走到这里,说明数组或者对象中所有元素都相同,返回现实 返回true; };
<>强测试:强>
var oldArr =, (1、2、 ( { 名称:“张三“, 年龄:11岁 } ), { 名称:& # 39;李四& # 39;, 年龄:21岁 em:( { 地址:& # 39;邯郸& # 39;, 电话:& # 39;123 & # 39; }, { 地址:& # 39;北京& # 39;, 电话:234 } ] } ]; var newArr =, (1、2、 ( { 名称:“张三“, 年龄:11 } ), { 名称:& # 39;李四& # 39;, 年龄:21岁 em:( { 地址:& # 39;邯郸& # 39;, 电话:& # 39;123 & # 39; }, { 地址:& # 39;北京& # 39;, 电话:234 } ] } ]; console.log (equalsObj (oldArr newArr));
关于使用JavaScript怎么对两个对象字段相同度进行判断就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。