• 08-08-2022, 14:38:43
    #1
    merhaba arkadaşlar php ile çok basit yapabildiğim şeyi javascript ile sabahtan beri yapamadım .
    yardımcı olurmusunuz.

    $dizi = [];
            foreach($elemanlar as $eleman){
                $dizi[$eleman['kategori']][] = $eleman;
            }
    bu kod boş bir diziye elemanları atamayı sağlıyor fakat aynı kategoride olan elemanları aynı dizi elamanına topluyor.
    {
    "01506458011195222":{
    eleman1,eleman2,eleman3
    },
    "0171943392198169":{},
    "012616147606031336":{}
    }
    gibi ama bunu javascriptte yapamadım .
    push ile aynı eleman içine girmiyorlar {...dizi,a:'a'} gibide olmuyor .

    kısacası döndüğüm içerikleri eşleştirerek dizide gruplucam..
  • 08-08-2022, 21:18:10
    #2
    Tam olarak istediğiniz bu mu bilmiyorum ancak bir örnek oluşturdum. Umarım yardımı dokunur.

    var elemanlar = [
        {
            "kategori" : "01506458011195222",
            "value" : "a",
        },
        {
            "kategori" : "01506458011195222",
            "value" : "b",
        },
        {
            "kategori" : "01506458011195222",
            "value" : "c",
        },
        {
            "kategori" : "0171943392198169",
            "value" : "d",
        },
        {
            "kategori" : "012616147606031336",
            "value" : "e",
        },
        {
            "kategori" : "012616147606031336",
            "value" : "f",
        },
        {
            "kategori" : "012616147606031336",
            "value" : "g",
        },
    ]
    
    var data = {};
    
    elemanlar.forEach(eleman => {
        data[eleman['kategori']] = [];
    });
    
    elemanlar.forEach(eleman => {
        data[eleman['kategori']].push(eleman['value']);
    })
    
    console.log(data);
    Çıktısı:
    {
      '01506458011195222': [ 'a', 'b', 'c' ],
      '0171943392198169': [ 'd' ],
      '012616147606031336': [ 'e', 'f', 'g' ]
    }
  • 08-08-2022, 22:04:58
    #3
    stgirginer adlı üyeden alıntı: mesajı görüntüle
    Tam olarak istediğiniz bu mu bilmiyorum ancak bir örnek oluşturdum. Umarım yardımı dokunur.

    var elemanlar = [
        {
            "kategori" : "01506458011195222",
            "value" : "a",
        },
        {
            "kategori" : "01506458011195222",
            "value" : "b",
        },
        {
            "kategori" : "01506458011195222",
            "value" : "c",
        },
        {
            "kategori" : "0171943392198169",
            "value" : "d",
        },
        {
            "kategori" : "012616147606031336",
            "value" : "e",
        },
        {
            "kategori" : "012616147606031336",
            "value" : "f",
        },
        {
            "kategori" : "012616147606031336",
            "value" : "g",
        },
    ]
    
    var data = {};
    
    elemanlar.forEach(eleman => {
        data[eleman['kategori']] = [];
    });
    
    elemanlar.forEach(eleman => {
        data[eleman['kategori']].push(eleman['value']);
    })
    
    console.log(data);
    Çıktısı:
    {
      '01506458011195222': [ 'a', 'b', 'c' ],
      '0171943392198169': [ 'd' ],
      '012616147606031336': [ 'e', 'f', 'g' ]
    }
    Tek foreach içerisinde de yapabilirsiniz.