File tree Expand file tree Collapse file tree 1 file changed +20
-6
lines changed
Expand file tree Collapse file tree 1 file changed +20
-6
lines changed Original file line number Diff line number Diff line change @@ -8,21 +8,35 @@ class Hash
88 }
99
1010 var hash = new Hash._alloc,
11- args = $slice.call(arguments),
1211 keys = [],
1312 assocs = {};
1413
1514 hash.map = assocs;
1615 hash.keys = keys;
1716
18- for (var i = 0, length = args.length, key; i < length; i++ ) {
19- var key = args[i], obj = args[++i ];
17+ if (arguments. length == 1 && arguments[0]._isArray ) {
18+ var args = arguments[0 ];
2019
21- if (assocs[key] == null) {
22- keys.push(key);
20+ for (var i = 0, length = args.length; i < length; i++) {
21+ var key = args[i][0], obj = args[i][1];
22+
23+ if (assocs[key] == null) {
24+ keys.push(key);
25+ }
26+
27+ assocs[key] = obj;
2328 }
29+ }
30+ else {
31+ for (var i = 0, length = arguments.length, key; i < length; i++) {
32+ var key = arguments[i], obj = arguments[++i];
2433
25- assocs[key] = obj;
34+ if (assocs[key] == null) {
35+ keys.push(key);
36+ }
37+
38+ assocs[key] = obj;
39+ }
2640 }
2741
2842 return hash;
You can’t perform that action at this time.
0 commit comments