Javascript ile iç içe arrayi tek bir array'e dönüştürmek

Javascript ile iç içe arrayi tek bir array'e dönüştürmek
Time4VPS - VPS hosting in Europe

Elinizde iç içe birden fazla array var ve iç içe döngüler yapmak istemiyorsanız, çok basit bir fonksiyon ile bu sorundan kurtulabilirsiniz.

Array.protoype olarak ekleyeceğimiz kod.

Version 1 - Sonsuz derinliği dönüştürebilir

Array.prototype.rflat = function () {
    var newArray = [];
    this.forEach(e => {
        if (Array.isArray(e)) {
            newArray.push(...e.rflat());
        } else {
            newArray.push(e);
        }
    })
    return newArray;
}

var arr = ["deneme", "test", "a", "b", "c",["d","e","f",["rec","rec3"]]];
arr.rflat();

// Çıktısı ["deneme", "test", "a", "b", "c", "d", "e", "f", "rec", "rec3"]

Version 2 - Tek derinliği algılayabilir

return this.reduce(function(a, b){
        if(typeof a == "array") return a.rflat()
     return a.concat(b);
}, []);

var arr = ["deneme", "test", "a", "b", "c",["d","e","f"]]; // İkinci derinliği algılamayacaktır
arr.rflat();

//Çıktısı ["deneme", "test", "a", "b", "c", "d", "e", "f"]
Tarih: