博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 对象比较(hashcode)
阅读量:4344 次
发布时间:2019-06-07

本文共 1054 字,大约阅读时间需要 3 分钟。

javascript 对象的比较是比较坑爹的一件事,因为javascript对象比较的是引用地址!当两个内容完全一样的对象比较:

var object1={            name:"1234 ",            code:123,            test:"321",        };        var object2={            name:"1234 ",            code:123,            test:"321",        };        console.log(object1==object2)   //false

解决方法使用hashcode

javascript hashcode实现

function hashcode(str) {  var hash = 0, i, chr, len;  if (str.length === 0) return hash;  for (i = 0, len = str.length; i < len; i++) {    chr   = str.charCodeAt(i);    hash  = ((hash << 5) - hash) + chr;     hash |= 0; // Convert to 32bit integer }  return hash; }

实例:

var object1={            name:"1234 ",            code:123,            test:"321",        };        var object2={            name:"1234 ",            code:123,            test:"321",        };        console.log(object1==object2)   //false        var test1=hashcode(JSON.stringify(object1));        var test2=hashcode(JSON.stringify(object2));        console.log(test1,test2,test1==test2);

 

转载于:https://www.cnblogs.com/dudeyouth/p/6232702.html

你可能感兴趣的文章
java基础之集合:List Set Map的概述以及使用场景
查看>>
Python 线程 进程 协程
查看>>
iOS语言中的KVO机制
查看>>
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>