Javascript ile n Elemanlı m Diziden Kombinasyon Oluşturma

E-ticaret projelerinde varyasyonlu yapıları kombine etmeyi bir çok yolla yapabilirsiniz. Ancak kod kalitesi ve performans olarak bakarsak, işinize yarayacak, benim de kullandığım, en basit çözüm aşağıdadır.

function combination(...args) {
    var r = [], max = args.length-1;
    function helper(arr, i) {
        for (var j=0, l=args[i].length; j<l; j++) {
            var a = arr.slice(0);
            a.push(args[i][j]);
            if (i==max)
                r.push(a);
            else
                helper(a, i+1);
        }
    }
    helper([], 0);
    return r;
}

Kullanımı:

combination([0,1], [0,1,2,3], [0,1,2]);

İnternet ve yazılım dünyası ile 2002 yılında Ankara bir alışveriş merkezinin bilgi İşlem departmanında tanıştım. Visual BASIC dili ile yola çıktığım yazılım dünyası serüvenim 2002-2004 yıllarında C, C++ dilleri ile devam etti.

Bir şeyler söyleyin:

E-posta adresiniz kimse ile paylaşılmayacaktır. Sadece ben rahatsız ederim.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Site Footer