UNPKG

673 BJavaScriptView Raw
1var 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