Các ví dụ về JS xóa, search, Union hay mảng, gộp 2 mảng và tìm kết quả giao nhau

 1.    Xóa phần tử trùng trong mảng

Về JS thì phiên bản hiện tại bạn có thể làm được điều đó cực kì dễ dàng

    - Đưa tất cả vào 1 mảng

    - Sử dụng từ khóa "new Set"

Ex.

var values = [1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 3, 2, 1];

var unique = [...new Set(values)];

console.log(unique);

=> result [1, 2, 3, 4, 5, 6, 7];

2.    Sử dụng Filter để search trong JS

Trong JS phiên bản hiện tại thì bạn có thể làm điều này bằng từ khóa "filter" với điều kiện là từ khóa tìm:

Ex.

var person = [

                    {id: 1, name: 'Alex', age: 22, group: 'author'},

                    {id: 2, name: 'Eddies', age: 32, group: 'admin'},

                    {id: 3, name: 'Link', age: 21, group: 'seo'},

                    {id: 4, name: 'Will', age: 27, group: 'seo'},

                      ];

var res = person.filter(it => it.name.includes('ill));

=> result []

Còn  1 cách là search trong JS nhưng không phân biệt hoa thường chúng ta dùng "RegExp"

var res = person.filter(it => new RegExp('ill', 'i').test(it.name));

=> result

[ {id: 4, name: 'Will', age: 27, group: 'seo'}]

3.     Dùng hàm "some()" để kiểm tra xem có ít nhất một element trong mảng thỏa điều kiện đặt ra

var hasAdmin = person.some(user => user.group === 'admin');

result hasAdmin is true;

4.     Giảm số chiều của mảng

Ví dụ chúng ta có mảng kiểu [...[], ...[1, 2, 3]] sau đó chúng ta muốn nó về dạng 

[1, 2, 3]

JS có "reduce" sẽ sắp xếp và gom các phần tử lại thành 1 mảng duy nhất

Ex.

var need = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

var flat = need.reduce((acc, it) => [...acc, ...it], []);

//result [1, 2, 3, 4, 5, 6, 7, 8, 9]

Hoặc đơn giản hơn thì chúng ta dùng concat.apply

var flat = [].concat.apply([], need);

5.    Lấy giá trị unique của các item trong một mảng

Hiện tại mình có rất nhiều Group trong nhóm nhưng bị trùng hơi nhiều giờ mình sẽ in ra Unique của group

var listOfPersonGroups = [...new Set(person.map(it => it.group))];

=> result listOfPersonGroups ['author', 'seo', 'admin']

6.     Chuyển đổi mảng chứa giá trị độ F sang giá trị độ C

var celsius = [-15, -5, 0, 10, 10, 16, 20, 24, 32];

var fahrenheit = celsius.map(t => t * 1.8 + 32);

=> result [5, 23, 32, 50, 60.8, 68, 75.2, 89.6]

7.    Chuyển Object thành String

var params = {lat: 45, lag: 6, alt: 1000}

var queryString = Object.entries(params).map

(p => encodeURIComponent(p[0]) + '=' + encodeURIComponent(p[1])).join('&');

=> result "lat=45&lag=6&lat=1000";

8.    Echo dữ liệu trong mảng

Bạn phải phân biệt kĩ giữa ' ' và ` `

var person = [

                    {id: 1, name: 'Alex', age: 22, group: 'author'},

                    {id: 2, name: 'Eddies', age: 32, group: 'admin'},

                    {id: 3, name: 'Link', age: 21, group: 'seo'},

                    {id: 4, name: 'Will', age: 27, group: 'seo'},

                      ];

person.map(({id, age, group}) => `n${id} ${age} ${group}).join('');

=> result 

1 22 author

2 32 admin

3 21 seo   

4 27 seo

9.    Gáp hai mảng lại thành một và lấy kết quả giao nhau của hai mảng

- Về việc gáp hai mảng lại thành một chỉ cần dùng set là giải quyết được vấn đề này

var arrA = [1, 2, 3, 4. 5]

var arrB = [6, 2, 7, 8];

var merge = [...new Set([...arrA, ...arrB])];

=> result [1, 2, 3, 4, 5, 6, 7, 8]

với new Set vừa merge và lọc trùng luôn

- Lấy kết quả giao giữa hai mảng

var arrA = [1, 2, 3, 4. 5]

var arrB = [6, 2, 7, 8];


arrA.filter(it => arrB.includes(it));

=> result [2]

Comments

Bài đăn phổ biến

Tính Bình Phương 1 Số Trong Python

Deploy website lên VPS hoặc Hosting với Gitlab CI/CD

Đổi tên "READ MORE" trong bài post

MỞ CAMERA VÀ CHỤP ẢNH BẰNG PHP