使用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://bzwzjz.com/article/piijog.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 商城网站建设 app网站建设 四川成都网站设计 成都网站制作 手机网站制作 手机网站制作 企业网站建设 营销网站建设 企业网站建设 网站建设 成都定制网站建设 网站制作 专业网站设计 广安网站设计 四川成都网站建设 企业网站建设公司 成都网站建设 成都网站建设公司 响应式网站设计 自适应网站建设 成都网站制作 定制网站制作