Một vài function nhỏ viêt bằng JavaScript có thể có ích cho bạn 3

Tram Ho

findLastIndex

Trả về index của phần tử cuối cùng match với hàm được cung cấp.

Sử dụng Array.prototype.map () để ánh xạ từng phần tử vào một mảng với index và value. Sử dụng Array.prototype.filter () để loại bỏ các phần tử mà fn trả về giá trị false, Array.prototype.pop () để lấy phần tử cuối cùng. -1 là giá trị mặc định khi không tìm thấy.

initializeArrayWithRange

Khởi tạo một mảng chứa các số trong phạm vi được chỉ định trong đó startmặc định bắt đầu từ 0 và end cùng với step (bước nhảy) mặc định là 1

Sử dụng Array.from () để tạo một mảng có độ dài mong muốn, (end - start + 1) / step và một hàm ánh xạ để fill nó với các giá trị mong muốn trong phạm vi đã cho.

isSorted

Trả về 1 nếu mảng được sắp xếp theo thứ tự tăng dần, -1 nếu nó được sắp xếp theo thứ tự giảm dần hoặc 0 nếu nó không được sắp xếp.

Sử dụng Object.entries () để lặp qua các đối tượng mảng và so sánh chúng theo cặp. Trả về 0 nếu direction thay đổi hoặc direction nếu đã tới phần tử cuối.

filterNonUniqueBy

Lọc ra các giá trị không duy nhất trong một mảng, dựa trên hàm so sánh được cung cấp.

Sử dụng Array.prototype.filter ()Array.prototype.every () cho một mảng chỉ chứa các giá trị duy nhất, dựa trên hàm so sánh, fn. Hàm so sánh có bốn đối số: các giá trị của hai phần tử được so sánh và các chỉ mục của chúng.

mapObject

Ánh xạ các giá trị của một mảng tới một đối tượng bằng cách sử dụng hàm.

Sử dụng Array.prototype.reduce () để áp dụng fn cho từng phần tử trong arr và kết hợp các kết quả thành một object. Sử dụng el làm key cho mỗi thuộc tính và kết quả của fn làm value.

longestItem

Lấy bất kỳ số lượng đối tượng hoặc đối tượng lặp lại có thuộc tính length và trả về đối tượng dài nhất. Nếu nhiều đối tượng có cùng độ dài, đối tượng đầu tiên sẽ được trả về. Trả về undefined nếu không có đối số được cung cấp.

Sử dụng Array.prototype.reduce (), so sánh length của các đối tượng để tìm ra đối tượng dài nhất.

reducedFilter

Lọc một mảng các đối tượng dựa trên một điều kiện đồng thời lọc ra các khóa không xác định.

Sử dụng Array.prototype.filter () để lọc mảng dựa trên hàm fn để nó trả về các đối tượng mà điều kiện trả về matched. Trên mảng đã lọc, sử dụng Array.prototype.map () để trả về object mới bằng Array.prototype.reduce () để lọc các key không được cung cấp làm keys đối số.

shank

Có chức năng tương tự như Array.prototype.splice (), nhưng trả về một mảng mới thay vì làm thay đổi mảng ban đầu.

Sử dụng Array.prototype.slice ()Array.prototype.concat () để có được một mảng mới với nội dung mới sau khi loại bỏ các phần tử hiện có hoặc thêm các phần tử mới. Bỏ qua đối số thứ hai, index, để bắt đầu từ 0. Bỏ qua đối số thứ ba, delCount, để loại bỏ 0 phần tử. Bỏ qua đối số thứ tư, các elements, để không thêm bất kỳ phần tử mới nào.

takeRightWhile

Loại bỏ các phần tử từ cuối một mảng cho đến khi hàm được truyền trả về true. Trả về các phần tử bị loại bỏ.

Lặp lại qua mảng, sử dụng Array.prototype.reduceRight () và tích lũy các phần tử trong khi hàm trả về giá không khớp

uniqueElementsByRight

Trả về tất cả các giá trị duy nhất của một mảng, dựa trên hàm so sánh được cung cấp, bắt đầu từ bên phải.

Sử dụng Array.prototype.reduceRight ()Array.prototype.some () cho một mảng chỉ chứa lần xuất hiện duy nhất cuối cùng của mỗi giá trị, dựa trên hàm so sánh, fn. Hàm so sánh có hai đối số: các giá trị của hai phần tử được so sánh.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo