Si comenzamos con el arreglo [1, 2, 3, 4] y obtenemos el siguiente resultado:
letresult = [[1],[2],[3],[4],[1,2],[1,3],[1,4],[2,3],[2,4],[3,4],[1,2,3],[2,3,4],[1,2,3,4]];Para que luego pueda encontrar la variante más adecuada de la suma de los números en la matriz de acuerdo con la condición especificada (por ejemplo, no más de 8)
No entiendo cómo generar todas las combinaciones posibles de la matriz [1,2,3,4] para obtener el resultado que escribí anteriormente. O si no solo tengo 4 números en la matriz sino [1,2,3,....,9,10] y cómo generar todos los números posibles de 3 dígitos.
const findNumber = function(z, array) { let sum = []; for (let i = 0; i < array.length; i++) { let reducer = array[i].reduce((a, b) => a + b); if (reducer < z) { sum.push(reducer) } } let max = Math.max.apply(Math, sum); console.log(sum); console.log(max); console.log('index in array ', sum.indexOf(max)) } findNumber(8, [ [1], [2], [3], [4], [1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4], [1, 2, 3], [2, 3, 4], [1, 2, 3, 4] ]);