Я только недавно обнаружил тип данных Set в ES6. Люблю это до сих пор. Я работаю над автовыбором, состоящим из нескольких вариантов, но я не хочу показывать дубликаты. Вот почему я использую Set-Datatype.
Например:
У меня есть этот массив загрузок:
const uploads = [
{projectNr: PUE-200, projectDesc: "This is project 200"},
{projectNr: PUE-200, projectDesc: "This is project 200"},
{projectNr: PUE-201, projectDesc: "This is project 201"},
{projectNr: PUE-201, projectDesc: "This is project 201"},
{projectNr: PUE-202, projectDesc: "This is project 202"}
]
Мне нужен массив для моего автоселектора, состоящий из экземпляров каждого проекта, но без дубликатов. Мне удалось получить такие номера проектов (ПУЭ-200, ПУЭ-201, ПУЭ-202 и т. д.), но мне также нужно описание. Мой подход состоял в том, чтобы разделить проект на наборы. Один для номера проекта, а другой для описания. Оба набора завершены, но теперь они мне нужны в массиве. Я пытался использовать оператор распространения, он работает, но мне нужны оба значения как фактическое значение элемента массива, чтобы отобразить его.
Моя текущая ситуация:
["PUE-200", "This is project 200", "PUE-201", "This is project 201"]
Что мне нужно:
[
{ProjektNr:"PUE-200", ProjektDesc: "This is project 200",
{ProjektNr:"PUE-201", ProjektDesc: "This is project 201""}
]
Изменить: это мой текущий код:
const uniqueProjektNr = new Set();
const uniqueProjektBeschreibung = new Set();
uploads.map((upload) => {
uniqueProjektNr.add(upload.ProjektNr);
uniqueProjektBeschreibung.add(upload.ProjektBeschreibung);
});
let uniqueProjektHolder = [...uniqueProjektNr, ...uniqueProjektBeschreibung];
projectNr
и разнымиprojectDesc
? Считаются ли они разными объектами? Ваш ввод этого не показывает. Кроме того, в вашем выводе нет"PUE-202"
- person adiga   schedule 08.06.2021