JavaScript dilinde birden fazla Array'i istenilen şekilde karıştırmak.
Selamlar,
Amacım birden fazla arrayı birbiriyle karıştırarak istediğim şekilde kombinlemek. Örnek vermek gerekirsek elimizde 2 adet array olsun.
let firstArray = ["40", "41", "42"];
let secondArray = ["Red", "Black"];
Amacım bu iki arrayı aşağıda ki gibi olacak şekilde yeni bir array haline getirmek.
let sonuc = [ ["40", "Red"], ["40", "Black"], ["41", "Red"], ["41", "Black"], ["42", "Red"], ["42", "Black"] ];
firstArray ve secondArray şeklinde 2 array belirttim array sayısı ve içlerinde ki eleman sayısı değişebilir. İstediğim şekilde nasıl arrayleri kombinlerim?
const sonuc = firstArray.map(x=>secondArray.map(y=>[x, y])).flat(1);
veya
const sonuc = [];
firstArray.map(x=>{
sonuc.push(...secondArray.map(y=>[x,y]));
});
veya
const sonuc = [];
for(let i=0; i < firstArray.length; i++) {
for(let k=0; k < secondArray.length; k++) {
sonuc.push([firstArray[i], secondArray[k]);
}
}
Bu işlemi birkaç farklı yerde kullanacaksan fonksiyonlaştırmanı öneririm:
const matchSetsOneToOne = (set1, set2) => set1.map(x=>set2.map(y=>[x, y])).flat(1);
// Kullanırken:
const sonuc = matchSetsOneToOne(firstArray, secondArray);