Chắc hẳn mỗi chúng ta khi lập trình không ít thì nhiều phải làm việc với mảng, cho dù sử dụng bất kì ngôn ngữ nào. Và javascript cũng vậy, tuy nhiên mảng trong javascript không có nhiều phương thức hỗ trợ như tìm kiếm, sắp xếp… ta có thể tự viết những phương thức đó cho riêng mình. Tuy nhiên, bằng cách sử dụng thư viện underscore.js việc thao tác mảng sẽ trở nên đơn giản hơn bao giờ hết. Dưới đây là một số cách sử dụng underscore với mảng mà mình hay dùng.
underscore.js còn có nhiều hàm hỗ trợ khác các bạn có thể tìm hiểu thêm tại trang tài liệu của nó. Trong bài viết này chỉ giới thiệu đến các hàm làm việc với mảng hay được sử dụng.
underscore sử dụng dấu _ (gạch dưới) để làm định danh cho nó.
Lặp qua các phẩn tử trong mảng, lấy giá trị của phần tử gởi vào hàm iterator . Các thao tác với phần tử được dyệt qua, chúng ta viết vào hàm iterator . Hàm iterator nhận được các tham số sau (element, index, list)
Tìm vị trí của một giá trị trong mảng, trả về -1 khi giá trị không có trong mảng. Nếu ta biết chắc mảng đã được sắp xếp trước, để tìm kiếm được nhanh hơn ta truyền giá trị true cho tham sốisSorted
1
_.indexOf([1 ,2, 3], 3) // => 2
Tìm giá trị lớn nhất trong mảng
1
_.max(list, [iterator], [context])
Lấy giá trị lớn nhất trong mảng. Nếu iterator được truyền vào, thì giá trị của nó sẽ được sử dụng để đánh giá.
Trả về một bản copy của mảng đã được sắp xếp theo tiêu chí của iterator . iteratorcũng có thể là tên của một thuộc tính được dùng làm tiêu chí sắp xếp, ví dụ age
Chú ý: * Lệnh sắp xếp không làm thay đổi trực tiếp lên mảng mà chỉ tạo một bản copycủa mảng và tiến hành sắp xếp trên đó. Để thực sự sắp xếp mảng ta phải gán mảng bằng giá trị đã sắp xếp.
1
dogs = _.sortBy(dogs, "age")
Đếm các phần tử trong mảng theo một tiêu chí nào đó
1
_.countBy(list, iterator, [context])
Đếm các phần tử trong mảng theo tiêu chí được định nghĩ trong iterator, trả về một mảng gồm giá trị của các tiêu chí và số lượng các phần tử thỏa mãn tiêu chí.
Không có nhận xét nào :
Đăng nhận xét