使用JS模擬出Map物件

2021-09-06 21:02:10 字數 1921 閱讀 7555

近期要做的乙個專案,支援方提供的乙個map方法,用著相當能夠,功能稍有欠缺,因此我為之做了擴充套件,下面是**:

function map() ;

//推斷map是否為空

this.isempty = function() ;

//刪除map全部元素

this.clear = function() ;

//向map中新增元素(key, value)

this.put = function(_key, _value) );

};//刪除指定key的元素,成功返回true,失敗返回false

this.removebykey = function(_key)

}} catch (e)

return bln;

};//刪除指定value的元素,成功返回true,失敗返回false

this.removebyvalue = function(_value)

}} catch (e)

return bln;

};//刪除指定value的元素,成功返回true,失敗返回false

this.removebyvalueandkey = function(_key,_value)

}} catch (e)

return bln;

};//獲取指定key的元素值value,失敗返回null

this.get = function(_key)

}} catch (e)

return false;

};//獲取指定索引的元素(使用element.key,element.value獲取key和value),失敗返回null

this.element = function(_index)

return this.elements[_index];

};//推斷map中是否含有指定key的元素

this.containskey = function(_key)

}} catch (e)

return bln;

};//推斷map中是否含有指定value的元素

this.containsvalue = function(_value)

}} catch (e)

return bln;

};//推斷map中是否含有指定value的元素

this.containsobj = function(_key,_value)

}} catch (e)

return bln;

};//獲取map中全部value的陣列(array)

this.values = function()

return arr;

};//獲取map中全部value的陣列(array)

this.valuesbykey = function(_key)

}return arr;

};//獲取map中全部key的陣列(array)

this.keys = function()

return arr;

};//獲取key通過value

this.keysbyvalue = function(_value)

}return arr;

};//獲取map中全部key的陣列(array)

this.keysremoveduplicate = function()

}}else

} return map;

}

};

這種話,即繼承了上面的map,有了putnorepeat這種排重方法,使用的時候僅僅須要:

var map = mymap.getmapinstance();
這樣既能使用擴充套件的方法,又能節省不必要記憶體開銷。

Js中Map物件的使用

1 定義 鍵 值對的集合。2 語法 mapobj new map 3 備註 集合中的鍵和值可以是任何型別。如果使用現有金鑰向集合新增值,則新值會替換舊值。4 屬性 建構函式 指定建立對映的函式。prototype 原型 為對映返回對原型的引用。size 返回對映中的元素數。5 方法 set 新增乙個...

JS學習 Map 物件 Set 物件

屬性 方法 描述new map 建立新的 map 物件。set 為 map 物件中的鍵設定值。get 獲取 map 物件中鍵的值。entries 返回 map 物件中鍵 值對的陣列。keys 返回 map 物件中鍵的陣列。values 返回 map 物件中值的陣列。clear 刪除 map 中的所有...

js中的map使用

1.這裡的map是指 對映 語法為 map 基本用法與foreach類似,array.map callback,this.object 2.callback的引數也類似 map function value,index,array 3.map方法就是講原始陣列 對映為新的陣列 例如下面的求平方 va...