前端培训面试题分析-两个对象如何比较

发布时间:2020年04月28日作者:atguigu浏览次数:1,120

比如打开一个页面,如果你带过来的数据与页面缓存的数据一样则不用更新页面直接加载,如果不一样则更新页面数据,这样可以更快加载页面,这个时候就要比较缓存与post过来的数据吧,这就是两个对象的比较啊,我的想法是把两个对象加密,然后比较这两个对象加密后的字符串的值,如果对象有一点不一样加密后的值都会变化,这样可以很好的比较两个对象的值了而不用遍历它们每个key和value

① 方法一:通过JSON.stringify(obj)来判断两个对象转后的字符串是否相等

优点:用法简单,对于顺序相同的两个对象可以快速进行比较得到结果
缺点:这种方法有限制就是当两个

② 方法二:

getOwnPropertyNames该方法可以将Object对象的第一层key获取到并返回一个由第一层key组成的数组。

优点:相对方法一进行了优化,可以应对不同顺序的Object进行比较,不用担心顺序不同而对比出错
缺点:从方法中可以看到只能获取到第一层的key组成的数组,当对象是复合对象时无法进行多层对象的比较

③ 方法三:

深度对比两个对象是否完全相等,可以封装成一个组件方便随时调用。

想要了解跟多关于web前端培训课程内容欢迎关注尚硅谷web前端培训,尚硅谷除了这些技术文章外还有免费的高质量web前端培训课程视频供广大学员下载学习


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦3层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)

成都市成华区北辰星拱青创园综合楼3层(成都校区)