Tôi đang tìm thư viện chức năng có cấu trúc dữ liệu liên tục. Tôi chỉ cần mảng lồng nhau và từ điển. Có một số functional javascript libraries, nhưng chúng không hướng đến bất biến. Tôi muốn có thể viếtThư viện chức năng Javascript với cấu trúc dữ liệu liên tục
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
Trong khi underscore đến gần trong một số trường hợp, đặc biệt là với mảng, nó sửa đổi đối số từ điển. Tôi cũng có thể sử dụng clojurescript, nhưng tôi thích cách tiếp cận nhẹ hơn.
@FlavioCysne Tôi vừa xem qua và không thể xem nó liên quan đến câu hỏi của tôi như thế nào. –
chỉ để làm rõ (vì tôi hiện đang làm việc trên một cái gì đó khá giống nhau), bạn cần bản đồ liên tục kết quả hành xử như một đối tượng bản địa bao gồm "." truy cập? Điều đó sẽ yêu cầu hoặc mô phỏng bằng cách sử dụng getters, hoặc sao chép toàn bộ cấu trúc từ việc sửa đổi và đóng băng nó, cho các bản đồ phẳng lớn trở nên kém hiệu quả khá nhanh (và cả hai yêu cầu ES5) ... hoặc bạn tốt với các hàm/phương thức truy cập nội dung (cách tiếp cận của tôi)? –
Tôi muốn được hạnh phúc nhất với các giải pháp truy cập doc, nhìn thấy nhược điểm của nó, mặc dù. Tôi không có bản đồ lớn. Yêu cầu ES5 ... tốt, tôi sẽ suy nghĩ về cách tiếp cận truy cập chức năng của bạn. –