Kalıcı veri yapıları ile fonksiyonel bir kütüphane arıyorum. Sadece iç içe dizilere ve sözlüklere ihtiyacım var. Bazı functional javascript libraries vardır, ancak bunlar değişmezliğe yönelik değildir. Ben underscore bazı durumlarda yakın geliyor olsa da, özellikle diziler,Kalıcı veri yapıları ile Javascript işlevsel kütüphanesi
var dict = makeDictionary({
'foo': 1;
'bar': {
'ely': 2;
}
});
var newDict = dict.assoc('foo', 42).assoc('bar', 'tender', 30).dissoc('bar', 'ely');
assert.eq dict.bar.ely, 2; // unchanged
assert.eq newDict.bar.tender, 30; // added
assert.eq newDict.bar.ely, undefined; // removed
yazabilmek istiyorum, sözlük argümanları değiştirir. clojurescript'u da kullanabilirim, ama daha hafif bir yaklaşım tercih ederim.
@FlavioCysne Sadece ona bir göz vardı ve benim soruya ilişkin nasıl göremez. –
sadece açıklığa kavuşturmak için (çünkü şu anda oldukça benzer bir şey üzerinde çalışıyorum), sonuçlanan kalıcı haritanın "." Dahil bir yerel nesne gibi davranmasına ihtiyacınız var mı? erişim? Bu, ya alıcıları kullanarak simüle etmeyi veya tüm yapının modifikasyondan kopyalanmasını ve dondurulmasını gerektirecektir. Bu, büyük düz haritalar için oldukça hızlı bir şekilde verimsiz hale gelir (ve her ikisi de ES5 gerektirir) ... ya da içeriğe erişen işlevler/yöntemler ile iyi misiniz? (benim yaklaşımım)? –
Doküman erişim çözümüyle birlikte, en dezavantajlarını görebiliyordum. Zaten büyük haritalarım yok. ES5 gereksinimi ... iyi, fonksiyon erişim yaklaşımınızı düşüneceğim. –