v2.5.2
Giriş yap

JavaScript dilinde birden fazla Array'i istenilen şekilde karıştırmak.

mertt
354 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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?

ebykdrms
682 gün önce
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);