X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=utils%2Farray.js;h=c2cb25f8ad12f04e956a992767ab303b3d079f56;hb=HEAD;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), {}) + ); } };