Giả sử chúng ta có mảng các mảng như sau:
const arr = [ [ "Serta", "Black Friday" ], [ "Serta", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ] ];
Chúng ta cần viết hàm JavaScript nhận mảng như vậy. Hàm trả về mảng mới chứa tất cả các mảng con duy nhất từ mảng gốc.
Mã cho việc này:
const arr = [ [ "Serta", "Black Friday" ], [ "Serta", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ], [ "Simmons", "Black Friday" ] ]; const filterCommon = arr => { const map = Object.create(null); let res = []; res = arr.filter(el => { const str = JSON.stringify(el); const bool = !map[str]; map[str] = true; return bool; }); return res; }; console.log(filterCommon(arr));Đầu ra
Kết quả trên console:
[ [ 'Serta', 'Black Friday' ], [ 'Simmons', 'Black Friday' ] ]