Phương thức Set symmetricDifference() trong JavaScript
Bùi Tấn Lực
- 1166
- 20/09/2025
Chức năng của Phương thức Set symmetricDifference() trong JavaScript
Phương thức Set symmetricDifference() trong JavaScript dùng để lấy những phần tử có giá trị không nằm trên cả Set A và Set B để tạo ra Set C.
Cú pháp của Phương thức Set symmetricDifference() trong JavaScript
const C = A.symmetricDifference(B);
A: đối tượng Set gốc.
B: đối tượng Set B.
C: đối tượng Set sau khi lấy những phần tử có giá trị không nằm trên cả Set A và Set B.
Code Phương thức Set symmetricDifference() trong JavaScript
<script>
const A = new Set(['Bùi Tấn Lực','Trần Thị Vân','Bùi Đan Trúc Quỳnh']);
const B = new Set(['Nguyễn Thùy Dung','Bùi Tấn Lực','Nguyễn Thảo Nhật Hạ']);
// Lấy các phần tử có giá trị không nằm trên cả A và B
const C = A.symmetricDifference(B);
for (const value of C) {
// Lấy từng giá trị
document.write(value + "<br>");
}
</script>
Kết quả:
Trần Thị Vân
Bùi Đan Trúc Quỳnh
Nguyễn Thùy Dung
Nguyễn Thảo Nhật Hạ
Ứng dụng phương thức Set symmetricDifference() trong JavaScript
Phương thức symmetricDifference() phù hợp khi cần tìm những phần tử chỉ xuất hiện ở một trong hai tập hợp. Cách xử lý này hữu ích trong các bài toán so sánh danh sách, phát hiện dữ liệu khác nhau hoặc xác định phần tử đã thay đổi giữa hai tập hợp.
Lọc các phần tử chỉ xuất hiện ở một trong hai tập hợp
Khi có hai Set, kết quả của symmetricDifference() sẽ loại bỏ những phần tử cùng xuất hiện ở cả hai bên và giữ lại các phần tử chỉ thuộc một tập hợp. Đây là cách ngắn gọn để tìm phần khác biệt theo cả hai chiều.
const setA = new Set(["JavaScript", "PHP", "Python"]);
const setB = new Set(["JavaScript", "Python", "Java"]);
const result = setA.symmetricDifference(setB);
console.log(result);
Trong ví dụ trên, JavaScript và Python xuất hiện trong cả hai tập hợp nên không được đưa vào kết quả. Ngược lại, PHP và Java chỉ xuất hiện ở một bên nên được giữ lại.
So sánh sự khác biệt giữa hai danh sách dữ liệu
Phương thức này có thể dùng để kiểm tra nhanh hai danh sách có những giá trị nào không giống nhau. Chẳng hạn, khi đối chiếu danh sách quyền truy cập, nhóm người dùng hoặc các mục được lựa chọn, symmetricDifference() giúp xác định phần dữ liệu chỉ tồn tại ở một phía.
const oldItems = new Set(["A", "B", "C"]);
const newItems = new Set(["B", "C", "D"]);
const changes = oldItems.symmetricDifference(newItems);
console.log(changes);
Kết quả chứa A và D. Có thể hiểu A là giá trị không còn xuất hiện trong danh sách mới, còn D là giá trị mới được bổ sung.
Kết hợp symmetricDifference() với các phương thức Set khác
symmetricDifference() có thể kết hợp với các phương thức xử lý Set khác để xây dựng phép so sánh dữ liệu linh hoạt hơn. Sau khi xác định các phần tử khác nhau, bạn có thể tiếp tục kiểm tra số lượng, duyệt kết quả hoặc thực hiện các phép tập hợp khác tùy mục đích.
const setA = new Set(["red", "green", "blue"]);
const setB = new Set(["green", "blue", "yellow"]);
const differences = setA.symmetricDifference(setB);
console.log(differences.size);
console.log([...differences]);
Cách kết hợp này giúp tách rõ từng bước xử lý: tạo tập hợp, tìm phần tử khác biệt và tiếp tục sử dụng kết quả. Nhờ đó, mã JavaScript dễ đọc hơn khi làm việc với các nhóm dữ liệu cần đối chiếu.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Set symmetricDifference() trong JavaScript.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *