Một số phần của gạch được lấy cảm hứng từ mượn từ Oliver Steele của chức năng, Prototype.js và John Resig của Micro-khuôn mẫu.
Hỗ trợ lập trình chức năng được thêm vào, nhưng mà không có bất kỳ mở rộng của các built-in JavaScript đối tượng.
Gạch cung cấp chức năng 60-lẻ hỗ trợ cả chức năng các nghi phạm thông thường: bản đồ, chọn, gọi & mdash; cũng như những người giúp đỡ nhiều chuyên ngành: chức năng ràng buộc, khuôn mẫu JavaScript, thử nghiệm bình đẳng sâu sắc, và như vậy. Nó đại biểu được xây dựng trong các chức năng, nếu các trình duyệt hiện nay, do đó, hiện đại sẽ sử dụng những hiện thực bản địa của foreach, bản đồ, giảm, bộ lọc, mỗi, một số và indexOf.
Cảng Underscore.js có sẵn cho:
PHP
Mãng xà
Perl
là gì mới trong phiên bản này:
- Thêm một phương pháp _.create, như là một rút gọn xuống phiên bản của Object.create.
- Các công trình xung quanh một lỗi iOS mà không đúng cách có thể gây ra isArrayLike là JIT-ed. Cũng sửa chữa một lỗi khi đi qua 0 đến isArrayLike.
là gì mới trong phiên bản 1.8.2:
- Sửa chữa / thay đổi một số-Internet Explorer cũ và hành vi liên quan trường hợp cạnh.
được gì mới trong phiên bản 1.7.0:
- Để thống nhất và tốc độ trên các trình duyệt, nhấn mạnh doanh nghiệp bỏ qua phương pháp mảng bản địa cho foreach, bản đồ, giảm, reduceRight, bộ lọc, mỗi, một số, indexOf, và lastIndexOf. & Quot; Thưa thớt & quot; mảng là chính thức chết trong gạch dưới.
- Thêm _.iteratee để tùy chỉnh vòng lặp được sử dụng bởi chức năng thu thập. Nhiều phương pháp gạch dưới sẽ mất một đối số chuỗi để tra cứu _.property-phong cách dễ dàng hơn, một đối tượng để lọc _.where-phong cách, hoặc một chức năng như gọi lại tùy chỉnh.
- Added _.before như một đối tác để _.after.
- Thêm _.negate để đảo ngược các giá trị thật của một vị từ thông qua trong.
- Thêm _.noop như một chức năng tiện dụng giữ chỗ trống.
- _. IsEmpty hiện đang làm việc với các đối số đối tượng.
- _. Đã bảo vệ chống lại những vật nullish.
- phương pháp cơ sở Override như nhau và một số người và họ sẽ được sử dụng trong nội bộ của các chức năng gạch dưới khác quá.
- Các chức năng xử lý thoát backticks (`), để đối phó với một trình duyệt IE ≤ 8 lỗi.
- Để thống nhất, _.union và _.difference bây giờ chỉ làm việc với mảng và không args variadic.
- _. Memoize cho thấy nhiều bộ nhớ cache của các giá trị memoized như một tài sản trên các chức năng trả lại.
- _. Pick chấp nhận iteratee và lập luận bối cảnh cho một cuộc gọi lại nâng cao hơn.
- Các mẫu gạch không còn chấp nhận một đối tượng dữ liệu ban đầu. _.template luôn luôn trả về một chức năng bây giờ.
Bây giờ
là gì mới trong phiên bản 1.5.0:
- Một bản đồ nguồn hiện đang được cung cấp để gỡ lỗi dễ dàng hơn các minified xây dựng sản xuất gạch.
- Các mặc định chức năng hiện nay chỉ ghi đè giá trị không xác định, những người không phải là null.
- Loại bỏ các khả năng gọi _.bindAll không có đối số tên phương pháp. Nó khá nhiều luôn luôn khôn ngoan hơn để trắng danh sách tên của các phương bạn muốn để ràng buộc.
- Loại bỏ các khả năng gọi _.after với một số lời gọi của zero. Số lượng tối thiểu của cuộc gọi là (tự nhiên) hiện giờ là 1.
là gì mới trong phiên bản 1.4.4:
- Added _.findWhere, cho việc tìm kiếm các phần tử đầu tiên trong một danh sách phù hợp với một tập hợp các khóa và giá trị.
- Thêm _.partial, cho từng phần áp dụng một chức năng mà không thay đổi tham chiếu năng động của nó đến điều này.
- Giản ràng buộc bằng cách loại bỏ một số trường hợp cạnh liên quan đến chức năng xây dựng. Trong ngắn hạn:. Không _.bind thầu của bạn
- Một tối ưu hóa nhỏ để gọi.
- Lỗi Fix trong phiên bản minified do minifier không chính xác tối ưu hóa-away isFunction.
là gì mới trong phiên bản 1.4.3:
- Thêm một iterator _.identity mặc định để countBy và groupby.
- Hiện tại chức năng uniq có thể mất mảng, iterator, bối cảnh như danh sách đối số.
- Thời gian hoạt động doanh nghiệp trả về mảng ánh xạ các kết quả lặp.
- Giản thể và lỗi cố định trong ga.
là gì mới trong phiên bản 1.4.2:
- Để tương thích ngược, trở về trước 1.4. 0 hành vi khi đi qua null đến chức năng lặp lại. Bây giờ họ trở thành không-ops lại.
là gì mới trong phiên bản 1.4.0:
- Thêm một chức năng cặp, để chuyển một đối tượng JavaScript vào [key, value] cặp ... cũng như một chức năng đối tượng, để chuyển đổi một mảng của [key, value] cặp vào một đối tượng.
- Thêm một chức năng countBy, đếm số lượng các đối tượng trong một danh sách phù hợp với một tiêu chí nhất định.
- Thêm một chức năng Invert, để thực hiện một đảo ngược đơn giản của các phím và các giá trị trong một đối tượng.
- Thêm một nơi chức năng, đối với trường hợp dễ dàng lọc một danh sách cho các đối tượng với các giá trị cụ thể.
- Thêm một chức năng omit, để lọc một đối tượng để loại bỏ một số phím.
- Thêm một hàm ngẫu nhiên, để trả về một số ngẫu nhiên trong một phạm vi nhất định.
- _. Chức năng debounce'd nay trở về giá trị cập nhật cuối cùng của họ, giống như chức năng _.throttle'd làm.
- Các chức năng SortBy bây giờ chạy một thuật toán sắp xếp ổn định.
- Thêm tùy chọn fromIndex tùy chọn để indexOf và lastIndexOf.
- & quot; Thưa thớt & quot; mảng không còn được hỗ trợ trong các chức năng lặp gạch dưới. Sử dụng cho thay vì (hoặc tốt hơn, một đối tượng).
- Các chức năng min và max nay có thể được gọi vào mảng rất lớn.
- Interpolation trong mẫu hiện đại diện cho giá trị và không xác định là chuỗi rỗng.
là gì mới trong phiên bản 1.3.2:
- Thêm chức năng lựa chọn, cho phép bạn lọc một đối tượng đen với một danh sách trắng của tên tài sản cho phép.
- Thêm chức năng kết quả, để thuận tiện khi làm việc với các API cho phép một trong hai chức năng hoặc tính chất thô.
- Thêm chức năng isFinite, bởi vì đôi khi biết rằng một giá trị là một số chỉ là không đủ.
- Các chức năng SortBy thể bây giờ cũng được thông qua các chuỗi tên của một tài sản để sử dụng như là thứ tự sắp xếp vào từng đối tượng.
- uniq cố định để làm việc với mảng thưa thớt.
- Các chức năng khác biệt bây giờ thực hiện một nông phẳng thay vì một sâu một khi tính toán sự khác biệt mảng.
- Các chức năng trễ giờ có một tham số ngay lập tức, mà sẽ gây ra gọi lại để bắn vào thay vì những hàng đầu của cánh sau .
là gì mới trong phiên bản 1.3.1:
- Thêm một chức năng _.has, như một an toàn hơn cách sử dụng hasOwnProperty.
- Thêm _.collect như một bí danh cho _.map. Smalltalkers, vui mừng.
- Đã hủy một sự thay đổi cũ để _.extend rằng cách chính xác sẽ sao chép trên các phím với các giá trị không xác định một lần nữa.
- Sửa lỗi để ngăn chặn thoát gạch chéo trong interpolations trong _.template.
là gì mới trong phiên bản 1.3.0:.
- Bỏ AMD (RequireJS) hỗ trợ từ gạch dưới
là gì mới trong phiên bản 1.2.4:
- có thể (và có lẽ) nên viết _.chain (danh sách) thay vì _ (danh sách) .chain ().
- Fix cho các ký tự thoát trong các mẫu gạch dưới, và hỗ trợ các tùy chỉnh của _.templateSettings mà chỉ xác định một hoặc hai trong số các regexes yêu cầu.
- Fix cho đi qua một mảng như là đối số đầu tiên đến một chức năng _.wrap'd.
- Cải thiện khả năng tương thích với ClojureScript, có thêm một chức năng gọi để String.prototype.
được gì mới trong phiên bản 1.2.3:
- phạm vi năng động hiện đang được bảo tồn cho _.template biên soạn chức năng, do đó bạn có thể sử dụng giá trị này nếu bạn muốn.
- hỗ trợ mảng thưa thớt của _.indexOf, _.lastIndexOf.
- Cả hai _.reduce và _.reduceRight bây giờ có thể được thông qua một cách rõ ràng giá trị không xác định.
là gì mới trong phiên bản 1.2.2:
- chỉnh Tiếp tục _.isEqual ngữ nghĩa. Bây giờ nguyên thủy JS được coi là tương đương với các phiên bản bọc của họ, và mảng được so sánh bằng cách tính số họ mà thôi.
- _. Thoát không còn cố gắng để được thông minh về không double-thoát đã thoát thực thể HTML. Bây giờ nó chỉ cần thoát bất kể.
- Trong _.template, bạn có thể bây giờ để lại dấu chấm phẩy ra các báo cáo đánh giá nếu bạn muốn: & # x3c;%})% & # x3e; .
- _ sau (gọi lại, 0) bây giờ sẽ kích hoạt các cuộc gọi lại ngay lập tức, làm cho & quot;. Sau khi & quot; dễ dàng hơn để sử dụng với các API không đồng bộ.
là gì mới trong phiên bản 1.2.1:
- Nhiều sửa lỗi quan trọng cho _.isEqual, mà bây giờ nên làm tốt hơn trên Arrays đột biến, và trên không-Array các đối tượng với các thuộc tính chiều dài.
- Bây giờ có thể _.groupBy (danh sách, 'tài sản') như một phím tắt để nhóm các giá trị của một tài sản chung cụ thể.
- _. Chức năng throttle'd bây giờ cháy ngay khi gọi, và là tỷ lệ giới hạn sau đó.
- Hầu hết các _.is [Type] kiểm tra không còn ducktype.
- Các chức năng _.bind bây giờ cũng hoạt động trên các nhà xây dựng, a-la ES5 ... nhưng bạn sẽ không bao giờ muốn sử dụng _.bind trên một hàm xây dựng.
- _. Bản sao không còn kết thúc tốt đẹp các loại phi-đối tượng trong đối tượng.
- _. Tìm và _.filter bây giờ là những cái tên ưa thích cho _.detect và _.select.
là gì mới trong phiên bản 1.2.0:
- Các chức năng _.isEqual bây giờ hỗ trợ thực sự bình đẳng sâu so sánh, với kiểm tra cấu trúc tuần hoàn, nhờ Kit Cambridge.
- gạch mẫu hiện hỗ trợ HTML thoát interpolations, sử dụng & # x3c;% - ...% & # x3e; cú pháp.
- Ryan Tenney góp _.shuffle, trong đó sử dụng một biến đổi Fisher-Yates để cung cấp cho bạn một bản sao lê của một mảng.
- _. Uniq hiện có thể đi một iterator tùy chọn, xác định bởi những tiêu chuẩn một đối tượng cần được coi là duy nhất.
- _. Kéo dài với doanh nghiệp có một đối số tùy chọn mà sẽ trả về các yếu tố N cuối cùng của danh sách.
- Một chức năng _.initial mới đã được bổ sung, như một tấm gương của _.rest, trả về tất cả các giá trị ban đầu của một danh sách (ngoại trừ N cuối cùng).
là gì mới trong phiên bản 1.1.7:
- Added _.groupBy, trong đó tập hợp một bộ sưu tập thành các nhóm hạng mục như thế nào.
- Thêm _.union và _.difference, bổ sung vào (đổi tên) _.intersection.
- cải tiến khác nhau để hỗ trợ các mảng thưa thớt. _.toArray bây giờ trả về một bản sao, nếu trực tiếp thông qua một mảng. _.functions bây giờ cũng trả về tên của các chức năng có mặt trong chuỗi ban đầu.
là gì mới trong phiên bản 1.1.6:
- Thêm _.after, mà sẽ trả về một chức năng mà chỉ chạy sau khi lần đầu tiên được gọi là một số quy định của lần. Hiện tại _.invoke có thể mất một tài liệu tham khảo chức năng trực tiếp. _.every bây giờ đòi hỏi một hàm iterator để được thông qua, trong đó phản ánh API ECMA5. _.extend không có bản sao chìa khóa còn khi giá trị không xác định. _.bind giờ lỗi khi cố gắng để ràng buộc một giá trị không xác định.
là gì mới trong phiên bản 1.1.4:
- Cải thiện sự tuân thủ với các phương pháp mảng ES5 khi truyền null làm một giá trị. _.wrap bây giờ chính xác lập này cho các chức năng bao bọc. _.indexOf bây giờ có một lá cờ tùy chọn cho việc tìm kiếm các chỉ số chèn trong một mảng đó là bảo đảm đã được sắp xếp.
- Tránh việc sử dụng .callee, để cho phép _.isArray để làm việc đúng trong chế độ nghiêm ngặt của ES5.
là gì mới trong phiên bản 1.1.3:
- Trong CommonJS, gạch nay có thể được yêu cầu chỉ với :
- var _ = yêu cầu (& quot; gạch & quot;). Thêm _.throttle và _.debounce chức năng.
- Bỏ _.breakLoop, trong lợi của một ECMA5 kiểu un-break-thể từng thực hiện - điều này loại bỏ các try / catch, và bây giờ bạn sẽ có dấu vết ngăn xếp tốt hơn cho trường hợp ngoại lệ được ném trong một iterator gạch dưới. Cải thiện các gia đình isType các chức năng cho khả năng tương tác tốt hơn với Internet Explorer vật chủ. _.template giờ trốn thoát một cách chính xác gạch chéo ngược trong các mẫu. Cải thiện khả năng tương thích với các phiên bản _.reduce ECMA5: nếu bạn không vượt qua một giá trị ban đầu, mục đầu tiên trong bộ sưu tập được sử dụng. _.each không còn trả về tập lặp, để cải thiện tính nhất quán với foreach ECMA5 của.
là gì mới trong phiên bản 1.0.4:
- _ chức năng memoize, mà có thể được sử dụng để. tăng tốc độ tính toán lặp đi lặp lại đắt tiền của bộ nhớ đệm kết quả.
là gì mới trong phiên bản 1.0.2:.
- _.isArguments cố định cho Opera
Bình luận không