Мне нужно получить все возможные 10 комбинаций из этого массива в другой массив. Все, что я получаю из своего кода, это возможные 3 комбинации
let X = ['Me', 'You', 'Her', 'Him', 'Them', 'She', 'juice', 'mango', 'orange', 'pillow', 'clock', 'tyre', 'car', 'calendar', 'fan', 'cloth', 'television', 'laptops', 'Honda', 'remote', 'echo'];
function combinations(arr) {
let sets = [];
let length = arr.length;
let firstHalf = arr.slice(0, length/2);
let secondHalf = arr.slice(-length/2);
sets.push(firstHalf, secondHalf);
push(firstHalf, secondHalf, sets);
push(firstHalf, secondHalf, sets);
return [sets, `The number of possible combinations: ${sets.length}`];
}
function push(A, B, arr){
let i=0, j=0, k=1;
while(i+k < A.length){
for(let j=0; j<B.length; j++){
arr.push([A[i], A[i+k], B[j]]);
}
k++;
if(k === 3){
i++;
k=1;
}
}
}
console.log(combinations(X));