Split array of integers based on step size in Javascript -
i have written code split array of integers sub arrays based on step size(it should include if step size empty). sure logic not efficient, if has better solution please me out.
var range = [10, 20, 20, 30, 100, 1000, 3420, 1124, 430, 700, 800, 35, 39, 12, 5046 ] var rangesplit = []; var max = math.max.apply(null, range); var bucketsize = max / 25; var temparr = [] var tempbucket = 0; while (tempbucket < max) { rangesplit[bucketsize + tempbucket] = []; tempbucket += bucketsize; } (var = 0; < range.length; i++) { var bucket = math.ceil(range[i] / bucketsize) if (rangesplit[bucketsize * bucket] == undefined) { rangesplit[bucketsize * bucket] = []; } rangesplit[bucketsize * bucket].push(range[i]) } console.log(rangesplit)
i'm not sure mean "it should include if step size if empty", if mean if step size empty should return original array can put condition @ begining of function, if range === ''{ return arr; }
i wrote function more generalized,where arr array want slice , range size of step
function chunkarrayingroups(arr, range) { var aux = []; //the output (var = 0; < (arr.length/range); i++){ // (arr.length/size) //number of chunks if ((size*i)%i === 0 || === 0){ aux.push(arr.slice((range*i), (range*(i+1)))); } } return aux; } //try chunkarrayingroups([0, 1, 2, 3, 4, 5], 2); remember arrays zero-based objects need take 0 consideration, that's why use condition if i==0 in if statement.
slice function returns chunk of array... , takes range, function. hope looking for.
Comments
Post a Comment