Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm hợp của hai tập hợp trong JavaScript

Tập hợp hợp (Union Set)

Tập hợp hợp là tập hợp được tạo bằng cách kết hợp các phần tử của hai tập hợp. Do đó, hợp của tập hợp A và B là tập hợp các phần tử trong A, hoặc B, hoặc cả hai.

Ví dụ:

Nếu chúng ta có hai tập hợp được biểu diễn bằng hai mảng như sau:

const arr1 = [1, 2, 3]; const arr2 = [100, 2, 1, 10];

Thì tập hợp hợp sẽ là:

const union = [1, 2, 3, 10, 100];

Chúng ta cần viết một hàm JavaScript nhận vào hai mảng các giá trị chữ nghĩa như vậy và trả về mảng hợp của chúng.

Ví dụ

Dưới đây là mã nguồn:

const arr1 = [1, 2, 3]; const arr2 = [100, 2, 1, 10]; const findUnion = (arr1 = [], arr2 = []) => {    const map = {};    const res = [];    for (let i = arr1.length-1; i >= 0; -- i){       map[arr1[i]] = arr1[i];    };    for (let i = arr2.length-1; i >= 0; -- i){       map[arr2[i]] = arr2[i];    };    for (const n in map){       if (map.hasOwnProperty(n)){          res.push(map[n]);       }    }    return res; }; console.log(findUnion(arr1, arr2));

Kết quả

Đầu ra trên console:

[ 1, 2, 3, 10, 100 ]

Lưu ý: Code dùng object làm map để khử trùng. Thứ tự kết quả không đảm bảo (phụ thuộc thứ tự key của object). Có thể dùng Set hiện đại: [...new Set([...arr1, ...arr2])].