Tôi có một mảng các đối tượng trông giống như sau:
var array = [
{id:123, value:"value1", name:"Name1"},
{id:124, value:"value2", name:"Name1"},
{id:125, value:"value3", name:"Name2"},
{id:126, value:"value4", name:"Name2"}
...
];
Như bạn có thể thấy, một số tên được lặp lại. Tôi muốn nhận một mảng mới chỉ có tên, nhưng nếu một số tên lặp lại, tôi không muốn thêm lại. Tôi muốn mảng này:
var newArray = ["Name1", "Name2"];
Tôi đang cố gắng làm điều này với map
:
var newArray = array.map((a) => {
return a.name;
});
Nhưng vấn đề là điều này trả về:
newArray = ["Name1", "Name1", "Name2", "Name2"];
Làm thế nào tôi có thể đặt một số điều kiện bên trong map
, vì vậy nó sẽ không trả về một phần tử đã tồn tại? Tôi muốn thực hiện việc này với map
hoặc một số tính năng ECMAScript 5 hoặc ECMAScript 6 khác.
Set
? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…