Někdy je při práci s datovými poli potřeba odstranit duplicitní hodnoty a získat pouze jedinečné prvky. To platí zejména, když se zabýváme velkými poli nebo když aplikace vyžaduje jedinečné hodnoty pro další zpracování. V takových případech čelíme úkolu odvodit pole jedinečných hodnot z pole duplicitních digitálních hodnot.
Existuje několik jednoduchých způsobů, jak tento problém vyřešit, z nichž každý má své vlastní vlastnosti a je vhodný pro různé situace. V tomto článku se podíváme na 10 jednoduchých způsobů, jak tento problém vyřešit, které vám pomohou získat pole jedinečných hodnot z pole duplicitních digitálních hodnot ve vašem projektu.
Prvním způsobem je použití smyčky for a podmíněného příkazu if. Můžeme projít každý prvek pole a zkontrolovat, zda již existuje v novém poli jedinečných hodnot. Pokud prvek není nalezen, přidáme jej do nového pole. Tento způsob je jednoduchý a srozumitelný, ale nemusí být účinný pro velká pole, protože hledání duplikátů trvá dlouho.
Druhým způsobem je použití metody filter. Tuto metodu můžeme použít k filtrování pole a ponechat pouze jedinečné hodnoty. Tato metoda je účinnější než smyčka for, protože ke zpracování pole používá interní mechanismy JavaScriptu. Může však vyžadovat více paměti k vytvoření nového pole jedinečných hodnot.
Metoda pomocí funkce filter
Nejprve vytvoříme funkci, která přijme pole a vrátí nové pole obsahující pouze jedinečné hodnoty. Uvnitř funkce použijeme metodu indexOf Chcete-li zkontrolovat, zda nové pole obsahuje již aktuální prvek. Pokud je prvek již v novém poli, vynecháme jej, jinak jej přidáme do výsledku.
Podívejme se na příklad:
function uniqueArray(array) );>let numbers = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5];let uniqueNumbers = uniqueArray(numbers);console.log(uniqueNumbers); // Output: [1, 2, 3, 4, 5]
V tomto příkladu máme původní pole čísel obsahující duplicitní hodnoty. Toto pole přeneseme do funkce uniqueArray která používá filter a indexOf pro vytvoření nového pole, které obsahuje pouze jedinečná čísla.
Výsledný výsledek bude vypadat [1, 2, 3, 4, 5], protože jsme vyloučili opakující se čísla z původního pole.
Využití funkce filter v kombinaci s indexOf poskytuje nám jednoduchý a efektivní způsob, jak získat pole jedinečných hodnot z pole duplicitních digitálních hodnot v JavaScriptu.
Použití cyklu for a oznámení kočáru
let arr = [1, 2, 2, 3, 4, 4, 5];let uniqueArr = [];for (let i = 0; i < arr.length; i++) >if (flag) >console.log(uniqueArr);
V tomto příkladu oznamujeme prázdné pole uniqueArr, který bude obsahovat pouze jedinečné hodnoty. Poté použijeme dva cykly for projděte si původní pole arr a zkontrolujte každou hodnotu na přítomnost v uniqueArr. Pokud je hodnota již přítomna, vlajka flag instalováno v false a dochází k posunu k další hodnotě. Pokud je hodnota jedinečná, je přidána do uniqueArr.
Použití cyklu for a reklamy kočáru jsou jednoduchým a srozumitelným způsobem, jak získat pole s jedinečnými hodnotami z opakujících se digitálních hodnot. Je však třeba mít na paměti možné problémy s výkonem, zejména při práci s velkými poli, kde počet srovnávacích operací může zpomalit provádění kódu. V takových případech je vhodné zvážit alternativní metody získávání jedinečných hodnot.
Použití metody Set
Metoda Set v JavaScriptu umožňuje vytvořit sbírku jedinečných hodnot, s výjimkou duplikátů. Pro použití této metody je nutné jednoduše převést původní pole na objekt typu Set. Výsledkem je sbírka obsahující pouze jedinečné hodnoty.
Příklad použití metody Set:
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueValues = [. new Set(arr)];
console.log(uniqueValues); // [1, 2, 3, 4, 5]
V tomto příkladu se metoda Set aplikuje na pole arr. Poté se pomocí příkazu spread výsledek převede zpět na pole uniqueValues. V důsledku toho zůstávají v poli uniqueValues pouze jedinečné hodnoty z pole arr.
Tato metoda je nejjednodušší a nejúčinnější způsob, jak získat jedinečné hodnoty z pole duplicitních digitálních hodnot v JavaScriptu. Zabraňuje duplicitě kódu a plní úkol dostatečně rychle.