2016-11-27 28 views
0

一組當使用對象作爲ES5一組例如:效率值類型的當一個JS對象作爲ES5

var thingsSeen = {}; 
thingsSeen["cat"] = true; 
thingsSeen["dog"] = true; 

它使任何區別使用號碼作爲值而不是一個布爾?在實踐中哪個更好,爲什麼?

+0

它應該沒有任何區別。在實踐中,嘗試一下。但如果真的很重要,你可能會做錯事。 – Bergi

+1

如果你想使用一個對象作爲一個集合,你可能需要'Object.create(null)'而不是'{}'' – Oriol

回答

1

您可以將布爾值存儲在單個位中。你需要64位的數字。

然後,不同的實現可以使用額外的存儲器,例如,布爾值的整個字節。但最有可能的數字將需要更多的內存。