簡體   English   中英

什么是javascript中的哈希? 我怎樣才能為數組使用哈希?

[英]What is a Hash in javascript? How can i use a hash for an array?

我在我的對象原型中使用了一個數組,它基本上有添加,刪除,附加到它的搜索功能。

像這樣的東西

myobj = function() {
  this.Array_ = [];
}

myobj.prototype.add = function(item) {
  goog.array.insert(this.Array_, item);
}

myobj.prototype.hasItem = function(item) {
  goog.array.contains(this.Array_, item);
}

在我的例子中,一個示例數組將列出整數。 [1,2,3,4]

但后來我才知道這是非常昂貴的,如果我使用哈希,可以節省成本。 有人可以用上面的例子來解釋哈希的使用。

“哈希”這個詞有很多含義,但在這種情況下,它可能是指通用的javascript對象,它們是內部的“哈希表”。 對象具有內置的“添加”和“包含”功能:

foo = {}

foo['x'] = 1   // "add"
'x' in foo     // "contains"

但請注意,鍵總是轉換為字符串,因此如果您需要其他類型的鍵(例如通用對象),則必須使用自定義函數,例如:

contains = function(ary, obj) {
    return ary.indexOf(obj) >= 0;
}

add = function(ary, obj) {
    if (!contains(ary, obj))
        ary.push(obj)
}

暫無
暫無

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

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