* @constructor * @param {Object} obj Only apply `ownProperty`.
(obj)
| 845 | * @param {Object} obj Only apply `ownProperty`. |
| 846 | */ |
| 847 | function HashMap(obj) { |
| 848 | var isArr = isArray(obj); |
| 849 | // Key should not be set on this, otherwise |
| 850 | // methods get/set/... may be overrided. |
| 851 | this.data = {}; |
| 852 | var thisMap = this; |
| 853 | |
| 854 | (obj instanceof HashMap) |
| 855 | ? obj.each(visit) |
| 856 | : (obj && each$1(obj, visit)); |
| 857 | |
| 858 | function visit(value, key) { |
| 859 | isArr ? thisMap.set(value, key) : thisMap.set(key, value); |
| 860 | } |
| 861 | } |
| 862 | |
| 863 | HashMap.prototype = { |
| 864 | constructor: HashMap, |