1 | var isFunction = require('../lang/isFunction');
|
2 |
|
3 | /**
|
4 | * Creates an object that holds a lookup for the objects in the array.
|
5 | */
|
6 | function toLookup(arr, key) {
|
7 | var result = {};
|
8 | if (arr == null) {
|
9 | return result;
|
10 | }
|
11 |
|
12 | var i = -1, len = arr.length, value;
|
13 | if (isFunction(key)) {
|
14 | while (++i < len) {
|
15 | value = arr[i];
|
16 | result[key(value)] = value;
|
17 | }
|
18 | } else {
|
19 | while (++i < len) {
|
20 | value = arr[i];
|
21 | result[value[key]] = value;
|
22 | }
|
23 | }
|
24 |
|
25 | return result;
|
26 | }
|
27 | module.exports = toLookup;
|
28 |
|