当前位置: 首页 > news >正文

深圳企业做网站b站推广链接

深圳企业做网站,b站推广链接,济宁网站建设电话,.net网站开发简介博主:東方幻想郷 Or _LJaXi 专栏分类:JavaScript | 脚本语言 JavaScript 递归 - 判断两个对象的键值 🌕 起因🌓 代码流程⭐ 第一步 判断两个对象的长度是否一致⭐ 第二步 循环 obj 进行判断两个对象⭐ 第三步 递归条件判断两个对象…

在这里插入图片描述

博主:東方幻想郷 Or _LJaXi
专栏分类:JavaScript | 脚本语言

JavaScript 递归 - 判断两个对象的键值

  • 🌕 起因
  • 🌓 代码流程
    • ⭐ 第一步 判断两个对象的长度是否一致
    • ⭐ 第二步 循环 obj 进行判断两个对象
    • ⭐ 第三步 递归条件判断两个对象深层次对象
    • ⭐ 第四步 判断两个对象的值是否相同
    • ⭐ 第五步 若以上步骤都不符合,返回true
  • 🌑 完整代码

🌕 起因

记得当时我是有写过一个判断两个对象内的键值手否相同的文章
使用 md5-js 判断两个对象键值是否相同
但是当时比较菜,递归也看不太懂,所以就用了别人的包

🌓 代码流程

💨 💨💨 首先明确一下需求
首先要有两个 Object
封装一个方法来判断两个对象内的keys,并且要支持深层次判断

⭐ 第一步 判断两个对象的长度是否一致

首先 声明一个判断对象的方法,我们就叫他 objectsComparison,提供两个形参: obj_one,obj_two
理一下思路:既然要判断两个对象中的每一项 且 每一项中的深层次对象都一致的话

1.⚡先判断两个对象keys的长度是否相同

function objectsComparison(obj_one, obj_two) {// 判断两个对象的key长度是否一致,若不一致返回false// 此时 key 长度不会监听到深层次的keyif (Object.keys(obj_one).length !== Object.keys(obj_two).length) {return false}
}

⭐ 第二步 循环 obj 进行判断两个对象

  1. ⚡判断两个对象的 prop 是否为 object
function objectsComparison(obj_one, obj_two) {// 判断两个对象的key长度是否一致,若不一致返回false// 此时 key 长度不会监听到深层次的keyif (Object.keys(obj_one).length !== Object.keys(obj_two).length) {return false}// 循环对象,判断每一项for (let prop in obj_one) {// 判断两个对象每一项是否为objectif (typeof obj_one[prop] === 'object' && typeof obj_two[prop] === 'object') {} }
}

⭐ 第三步 递归条件判断两个对象深层次对象

  1. ⚡递归条件判断两个对象的深层次对象是否符合本方法的所有条件,若不符合,返回false
function objectsComparison(obj_one, obj_two) {// 判断两个对象的key长度是否一致,若不一致返回false// 此时 key 长度不会监听到深层次的keyif (Object.keys(obj_one).length !== Object.keys(obj_two).length) {return false}// 循环对象,判断每一项for (let prop in obj_one) {// 判断两个对象每一项是否为objectif (typeof obj_one[prop] === 'object' && typeof obj_two[prop] === 'object') {// 使用递归条件监听两个深层次的对象if (!objectsComparison(obj_one[prop], obj_two[prop])) {return false}} }
}

⭐ 第四步 判断两个对象的值是否相同

  1. ⚡判断两个对象值是否相同,不相同返回false
function objectsComparison(obj_one, obj_two) {// 判断两个对象的key长度是否一致,若不一致返回false// 此时 key 长度不会监听到深层次的keyif (Object.keys(obj_one).length !== Object.keys(obj_two).length) {return false}// 循环对象,判断每一项for (let prop in obj_one) {// 判断两个对象每一项是否为objectif (typeof obj_one[prop] === 'object' && typeof obj_two[prop] === 'object') {// 使用递归条件监听两个深层次的对象if (!objectsComparison(obj_one[prop], obj_two[prop])) {return false}// 对象键不相等,也会返回false} else if (obj_one[prop] !== obj_two[prop]) {return false}}
}

⭐ 第五步 若以上步骤都不符合,返回true

function objectsComparison(obj_one, obj_two) {// 判断两个对象的key长度是否一致,若不一致返回false// 此时 key 长度不会监听到深层次的keyif (Object.keys(obj_one).length !== Object.keys(obj_two).length) {return false}// 循环对象,判断每一项for (let prop in obj_one) {// 判断两个对象每一项是否为objectif (typeof obj_one[prop] === 'object' && typeof obj_two[prop] === 'object') {// 使用递归条件监听两个深层次的对象if (!objectsComparison(obj_one[prop], obj_two[prop])) {return false}// 对象键不相等,也会返回false} else if (obj_one[prop] !== obj_two[prop]) {return false}}// 若以上条件都不成立,返回true,两个对象完全一致return true
}

🌑 完整代码

function objectsComparison(obj_one, obj_two) {if (Object.keys(obj_one).length !== Object.keys(obj_two).length) {return false}for (let prop in obj_one) {if (typeof obj_one[prop] === 'object' && typeof obj_two[prop] === 'object') {if (!objectsComparison(obj_one[prop], obj_two[prop])) {return false}} else if (obj_one[prop] !== obj_two[prop]) {return false}}return true
}

🌠 以上是 使用递归 判断连个对象是否完全一致的判断方法
🌠 希望能够帮助到你

http://www.wangmingla.cn/news/157955.html

相关文章:

  • 怎么做网站挣钱网站推广技巧
  • 做任务兼职赚钱的网站大学生网页设计主题
  • 域名查询解析ip杭州seo的优化
  • 建设政府网站服务关键词优化是什么工作
  • 网站建设与行政管理爱链接外链购买
  • 动态网站构建应用教程淘宝关键词搜索排行榜
  • b2b2c多用户系统宁波seo关键词优化报价
  • 合肥企业网站制作公司公司网站制作要多少钱
  • 网站服务器选购视频号广告推广
  • 政府部门网站建设必要性网站运营主要做什么
  • 公司制作网站费用网络营销平台名词解释
  • 百度制作网站推广东莞网站制作的公司
  • 做网站都用什么语言yandex网站推广
  • 承德疫情最新情况seo深圳培训班
  • 嘟嘟嘟免费高清在线观看直播北京seo优化哪家公司好
  • 玉溪建设局门户网站微信怎么做推广
  • 亳州市城乡建设局网站it培训班出来工作有人要么
  • 下城区网站建设价格查询济宁seo公司
  • 自己做的网站用在博客上整合营销包括哪些内容
  • 社区做图网站有哪些内容如何用html制作一个网页
  • 网站制作高端网站建设抖音推广引流平台
  • 山西教育学会的网站建设济南seo外包公司
  • 秀米网站怎么做推文seo sem是啥
  • 沈阳企业模板建站seo搜索引擎营销工具
  • 潍坊网站建设制作优化网站首页
  • 中国协会网站建设方案北京seo排名外包
  • 湖南营销型网站建设公司排名日照网络推广公司
  • 知晓程序网站怎么做百度怎么推广自己的产品
  • 保定 网站建设佛山疫情最新消息
  • 重庆网络科技有限公司杭州百度推广优化排名