X-Git-Url: https://git.auder.net/images/pieces/Cwda/bd.svg?a=blobdiff_plain;f=utils%2Farray.js;h=af8462edb7f584a9d12248e1c1dec63758de0606;hb=3232aba3419f129c70d5edd9a4ded1fefc146ea0;hp=8f2ebfeb8b658b9a68d71f7b189011a9763ac664;hpb=41534b92f0bcfc8ef5f58d8040706a5e7ce088c6;p=xogo.git diff --git a/utils/array.js b/utils/array.js index 8f2ebfe..af8462e 100644 --- a/utils/array.js +++ b/utils/array.js @@ -5,8 +5,22 @@ export const ArrayFun = { return [...Array(size1)].map(() => Array(size2).fill(initElem)); }, - range: function(max) { - return [...Array(max).keys()]; + range: function(min, max) { + if (!max) { + max = min; + min = 0; + } + return [...Array(max - min).keys()].map(k => k + min); + }, + + toObject: function(keys, values) { + if (!Array.isArray(values)) + // Second argument is a scalar + values = Array(keys.length).fill(values); + return ( + ArrayFun.range(keys.length) + .reduce((acc, curr) => (acc[keys[curr]] = values[curr], acc), {}) + ); } };