Hướng dẫn remove duplicate object from array javascript lodash - xóa đối tượng trùng lặp khỏi mảng javascript lodash

Đây là dữ liệu của tôi:

[
    {
        url: 'www.example.com/hello',
        id: "22"    
    },
    {
        url: 'www.example.com/hello',
        id: "22"    
    },
    {
        url: 'www.example.com/hello-how-are-you',
        id: "23"    
    },
    {
        url: 'www.example.com/i-like-cats',
        id: "24"    
    },
    {
        url: 'www.example.com/i-like-pie',
        id: "25"    
    }
]

Với Lodash, làm thế nào tôi có thể xóa các đối tượng có khóa ID trùng lặp? Một cái gì đó với bộ lọc, bản đồ và độc đáo, nhưng không hoàn toàn chắc chắn.

Bộ dữ liệu thực của tôi lớn hơn nhiều và có nhiều khóa hơn, nhưng khái niệm này phải giống nhau.

ntalbs

Phim thương hiệu vàng 27,8K88 gold badges63 silver badges81 bronze badges

hỏi ngày 31 tháng 7 năm 2015 lúc 7:10Jul 31, 2015 at 7:10

_.uniqBy[data, function [e] {
  return e.id;
}];
2 không còn hoạt động cho phiên bản hiện tại của Lodash là phiên bản 4.0.0 có sự thay đổi phá vỡ này. Chức năng của
_.uniqBy[data, function [e] {
  return e.id;
}];
2 được chia thành
_.uniqBy[data, function [e] {
  return e.id;
}];
4,
_.uniqBy[data, function [e] {
  return e.id;
}];
5,
_.uniqBy[data, function [e] {
  return e.id;
}];
6 và
_.uniqBy[data, function [e] {
  return e.id;
}];
7.

Bạn có thể sử dụng

_.uniqBy[data, function [e] {
  return e.id;
}];
7 như thế này:

_.uniqBy[data, function [e] {
  return e.id;
}];

... Hoặc như thế này:

_.uniqBy[data, 'id'];

Tài liệu: //lodash.com/docs#uniqby

Đối với các phiên bản cũ hơn của Lodash [ [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]

_.uniqBy[data, function [e] {
  return e.id;
}];
2 không còn hoạt động cho phiên bản hiện tại của Lodash là phiên bản 4.0.0 có sự thay đổi phá vỡ này. Chức năng của
_.uniqBy[data, function [e] {
  return e.id;
}];
2 được chia thành
_.uniqBy[data, function [e] {
  return e.id;
}];
4,
_.uniqBy[data, function [e] {
  return e.id;
}];
5,
_.uniqBy[data, function [e] {
  return e.id;
}];
6 và
_.uniqBy[data, function [e] {
  return e.id;
}];
7.

Bạn có thể sử dụng

_.uniqBy[data, function [e] {
  return e.id;
}];
7 như thế này:Nov 18, 2016 at 11:33

... Hoặc như thế này:zdrsoft

Tài liệu: //lodash.com/docs#uniqby17 silver badges10 bronze badges

2

Đối với các phiên bản cũ hơn của Lodash [ to V4].

Đã trả lời ngày 9 tháng 6 năm 2020 lúc 12:09

_.uniqBy[data, function [e] {
  return e.id;
}];
1

Zettapzettap_.uniq from version lower than 4 can be performed with both functions:

4144 Huy hiệu bạc8 Huy hiệu đồng or _.unionBy[data, 'id']

Chỉ cần sử dụng _.uniqby []. Nó tạo ra phiên bản không trùng lặp của một mảng._.uniqBy[data, 'id'].

Đây là một cách mới và có sẵn từ phiên bản 4.0.0.Nov 4, 2021 at 18:15

hoặcDmitry

Đã trả lời ngày 26 tháng 5 năm 2019 lúc 21:219 bronze badges

Hassan Ajazhassan Ajaz

5736 Huy hiệu bạc13 Huy hiệu ĐồngJun 5, 2018 at 11:27

Làm thế nào để bạn loại bỏ các bản sao trong mảng các đối tượng trong lodash?

Để lọc các bản sao từ một mảng, hãy sử dụng functio uniq [] của lodash. Hàm này sẽ loại bỏ bất kỳ giá trị trùng lặp khỏi mảng được cung cấp.use Lodash's uniq[] functio. This function will remove any duplicate values from the provided array.

Làm cách nào để loại bỏ các bản sao trong lodash?

Chúng ta có thể loại bỏ các phần tử trùng lặp khỏi một mảng bằng phương thức _.uniq [] của lodash.Phương pháp này giữ cho trường hợp đầu tiên của một phần tử và loại bỏ một phần tử còn lại.Do đó, thứ tự của một phần tử trong mảng kết quả phụ thuộc vào sự xuất hiện của nó trong mảng.using the _. uniq[] method of Lodash. This method keeps the first instance of an element and removes the remaining one. Therefore, the order of an element in the resultant array depends on its occurrence in the array.

Làm thế nào bạn sẽ loại bỏ các bản sao khỏi một mảng javascript?

Để loại bỏ các bản sao khỏi một mảng: Đầu tiên, hãy chuyển đổi một mảng các bản sao thành một tập hợp.Bộ mới sẽ ngầm loại bỏ các yếu tố trùng lặp.Sau đó, chuyển đổi bộ trở lại một mảng.convert an array of duplicates to a Set . The new Set will implicitly remove duplicate elements. Then, convert the set back to an array.

Làm thế nào để bạn tìm thấy các giá trị trùng lặp trong một mảng các đối tượng bằng Lodash?

One-liner, với một số đường ES2015: const trùng lặp = _.filter [mảng, [giá trị, chỉ mục, iteratee] => _
Nó hoạt động với các đối tượng và các cấu trúc phức tạp hơn nếu bạn sử dụng _..

Bài Viết Liên Quan

Chủ Đề