Javascript so sánh hai mảng (array) bất kể thứ tự (order)

Hàm javascript helper (với typescript) ngắn gọn giúp so sánh (compare) 2 mảng (array) liệu có giống nhau (không quan tâm thứ tự sắp xếp/order của các phần tử) chỉ với 1 dòng code. Để so sánh 2 mảng javascript giống hệt nhau (giống thứ tự sắp xếp) hãy xem Javascript so sánh hai mảng (array)

#JavaScript version

// `a` and `b` are arrays
const isEqual = (a, b) => JSON.stringify([...new Set(a)].sort()) === JSON.stringify([...new Set(b)].sort());

#TypeScript version

const isEqual = <T,_>(a: T[], b: T[]): boolean => JSON.stringify([...(new Set(a))].sort()) === JSON.stringify([...(new Set(b))].sort());

#Ví dụ

isEqual([1, 2, 3], [1, 2, 3]); // true
isEqual([1, 2, 3], [1, 3, 2]); // true
isEqual([1, 2, 3], [1, '2', 3]); // false