Nat*_*thi 3 typescript ecmascript-6
如何在打字稿中获取对象的哈希值。
例如 :
let user:any = {name:'tempuser', age:'29'};
let anotheruser:any = {name:'iam', age:'29'};
if( Object.GetHashCode(user) === Object.GetHashCode(anotheruser)){
alert('equal');
}
Run Code Online (Sandbox Code Playgroud)
我们还可以识别对象是否被修改。
小智 6
如果您想比较对象而不是数据,那么 @Valery 解决方案不适合您,因为它会比较数据而不是两个对象。如果你想比较数据而不是对象,那么 JSON.stringify(obj1) === JSON.stringify(obj2) 就足够了,这是简单的字符串比较。
小智 5
对于非加密用途,例如实现哈希表,这里是古老的字符串 java hashCode 的打字稿:
export function hashCode(str: string): number {
var h: number = 0;
for (var i = 0; i < str.length; i++) {
h = 31 * h + str.charCodeAt(i);
}
return h & 0xFFFFFFFF
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8904 次 |
| 最近记录: |