簡體   English   中英

從對象生成哈希

[英]Generate Hash fron an Object

目前,在我的React應用程序中,我正在考慮優化性能的方法。 閱讀了lazy evaluation ,我想知道是否有可能根據obj的當前內容生成唯一的哈希碼。

目的是比較散列,以了解obj中的任何道具是否已更改。 記憶。

這可能嗎?

Roman評論后更新:為了澄清,我想知道是否已經存在這樣的庫。 為了進一步闡述您的優缺點,在我的情況下,對於哈希的生成,將僅使用值(而不是鍵)來生成seq。 同樣,所有值都將是字符串或轉換為字符串,可以忽略函數。 感謝您的思考,我正在考慮寫一個如此特殊的案例小型庫...

Javascript中沒有直接可用的哈希,可能永遠也不會。 問題在於對象相等性的定義。 兩個對象認為相等應該導致相同的哈希,不是嗎? 但是,您如何知道兩個對象是否相等? 如果僅使用===比較兩個對象,則將比較指針而不是內容,因此在這種情況下,您不需要哈希。 因此,相等應該包含對象的內容,例如如果a = {b:0,c:1}和b = {b:0,c:1},則它們相等。 但是,如果屬性值不是數字,而是其他對象或函數,會發生什么? 您只是比較屬性指向同一對象還是遞歸比較? 那函數呢?

因此,如果要實現散列,則需要就對象相等首先意味着什么做出幾個決定。

React的主要優勢之一是您不需要構建自己的差異算法。 請參閱本文以獲取對React方法的一些技術細節的描述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM