i have app in backbone use function create cartesian product.
this function:
function cartesian(arg) { var r = [], max = arg.length - 1; function helper(arr, i) { (var j = 0, l = arg[i].length; j < l; j++) { var = arr.slice(0); // clone arr a.push(arg[i][j]); if (i == max) { r.push(a); } else helper(a, + 1); } } helper([], 0); return r; } to call inside backbone this:
return cartesian(_.values(this.rooms.groupby('level'))); this example of json fetched object rooms:
[{"hotelid":"10776","combination":"0|2|0|0|0","n_camere":2,"level":1,"id":"98%7e%7e%7edouble_1"}, {"hotelid":"10776","combination":"1|0|1|0|0","n_camere":2,"level":1,"id":"99%7e%7e%7esingle_1"}, {"hotelid":"10776","combination":"1|0|1|0|0","n_camere":2,"level":1,"id":"100%7e%7e%7etriple_1"}, {"hotelid":"10776","combination":"1|0|0|0|0","n_camere":1,"level":2,"id":"98%7e%7e%7edouble_2"}] in mode cartesian product have 3 array grouped level every array have last array because level2 that:
{"hotelid":"10776","combination":"0|2|0|0|0","n_camere":2,"level":1,"id":"98%7e%7e%7edouble_1"}, {"hotelid":"10776","combination":"1|0|0|0|0","n_camere":1,"level":2,"id":"98%7e%7e%7edouble_2"} --------------- {"hotelid":"10776","combination":"1|0|1|0|0","n_camere":2,"level":1,"id":"99%7e%7e%7esingle_1"}, {"hotelid":"10776","combination":"1|0|0|0|0","n_camere":1,"level":2,"id":"98%7e%7e%7edouble_2"} --------------- {"hotelid":"10776","combination":"1|0|1|0|0","n_camere":2,"level":1,"id":"100%7e%7e%7etriple_1"}, {"hotelid":"10776","combination":"1|0|0|0|0","n_camere":1,"level":2,"id":"98%7e%7e%7edouble_2"} . want implement groupby level , combination because in level 1 there array same combination field , goal lis array that:
{"hotelid":"10776","combination":"0|2|0|0|0","n_camere":2,"level":1,"id":"98%7e%7e%7edouble_1"}, {"hotelid":"10776","combination":"1|0|0|0|0","n_camere":1,"level":2,"id":"98%7e%7e%7edouble_2"} --------------- {"hotelid":"10776","combination":"1|0|1|0|0","n_camere":2,"level":1,"id":"99%7e%7e%7esingle_1"}, {"hotelid":"10776","combination":"1|0|1|0|0","n_camere":2,"level":1,"id":"100%7e%7e%7etriple_1"}, {"hotelid":"10776","combination":"1|0|0|0|0","n_camere":1,"level":2,"id":"98%7e%7e%7edouble_2"} is possible obtain result?
Comments
Post a Comment