1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| function A(arr, id) { return arr.find(o => o.id == id); }
function B(arr, id) { let idx = arr.findIndex(o => o.id == id); return arr[idx]; }
function C(arr, id) { return arr.filter(o => o.id == id)[0]; }
function D(arr, id) { return arr.reduce((a, b) => (a.id == id && a) || (b.id == id && b)); }
function E(arr, id) { for (var i = 0; i < arr.length; i++) if (arr[i].id == id) return arr[i]; return null; }
function F(arr, id) { var retObj = {}; $.each(arr, (index, obj) => { if (obj.id == id) { retObj = obj; return false; } }); return retObj; }
function G(arr, id) { return $.grep(arr, e => e.id == id )[0]; }
function H(arr, id) { return $.map(myArray, function(val) { return val.id == id ? val : null; })[0]; }
function I(arr, id) { return _.find(arr, o => o.id == id); }
let J = (() => { let cache = new Map(); return function J(arr, id, el = null) { return cache.get(id) || (el = arr.find(o => o.id == id), cache.set(id, el), el); } })();
function K(arr, id) { return mapK.get(id) }
function L(arr, id) { return mapL[id]; }
myArray = [...Array(10)].map((x, i) => ({'id': `${i}`, 'foo': `bar_${i}`})); const mapK = new Map( myArray.map(el => [el.id, el]) ); const mapL = {}; myArray.forEach(el => mapL[el.id] = el);
[A, B, C, D, E, F, G, H, I, J, K, L].forEach(f => console.log(`${f.name}: ${JSON.stringify(f(myArray, '5'))}`));
|