Các cách để unique một array
Mình sẽ giới thiệu cho các bạn ba cách
Cách thứ nhất: dùng Set
const arr = [...new Set([1, 2, 3, 3])];
// out put
[1, 2, 3]
Cách thứ hai dùng lodash
lodash là thư viện chuyên dùng để thao tác với array, để unique array ta sẽ dùng hàm uniq
hoặc uniqBy
_.uniq([2, 1, 2]);
// => [2, 1]
_.uniqBy([2.1, 1.2, 2.3], Math.floor);
// => [2.1, 1.2]
_.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
// => [{ 'x': 1 }, { 'x': 2 }]
Tham khảo thêm tại đây
Cách thứ ba dùng reducer
Ngoài cách dùng Set ra chúng ta còn một cách native javascript để unique một array, đó là dùng reduce
const arr = [1, 4, 5, 8, 1, 3, 4];
const uniqArr = arr.reduce((acc, cur) => {
if (!acc.includes(cur)) {
acc.push(cur);
}
return acc
}, [])
Comments