JSFiddle - React, Tailwind, and code Playground
JavaScript
function getCombinations(list){
var combinations = []; //All combinations
var combination = []; //Single combination
var quantity = (1 << list.length);
for (var i = 0; i < quantity ; i++){
combination = [];
for (var j=0;j<list.length;j++) {
if ((i & (1 << j))){
combination.push(list[j]);
}
}
if (combination.length !== 0) {
combinations.push(combination);
}
}
return combinations;
}
function listProduct(list){
var product=1;
for (var i=0;i<list.length;i++){
product *=list[i];
}
return product;
}
var data=getCombinations([3,5,15,100]);
var output=[];
for (var i=0;i<data.length;i++){
output.push(listProduct(data[i]));
}
console.log(data);
console.log(output);