Entfernen Sie ungerade Vorkommen einer beliebigen Zahl/eines beliebigen Elements aus dem Array in JavaScript

王林
Freigeben: 2023-09-06 22:53:07
nach vorne
1443 Leute haben es durchsucht

在 JavaScript 中从数组中删除任何数字/元素的奇数出现

Angenommen, wir haben ein Array von Zahlen wie dieses –

const arr = [1, 6, 3, 1, 3, 1, 6, 3];
Nach dem Login kopieren

Wir müssen eine JavaScript-Funktion schreiben, die ein Array wie dieses als erstes und einziges Argument akzeptiert. Die Funktion sollte dann alle Zahlen finden, die ungerade oft (außer nur einmal) im Array vorkommen.

Zum Beispiel:

Im Array oben kommen die Zahlen 1 und 3 beide dreimal vor (eine ungerade Zahl), daher sollte unsere Funktion das dritte Vorkommen dieser beiden Zahlen entfernen.

Das Ausgabearray sollte so aussehen -

const output = [1, 6, 3, 1, 3, 6];
Nach dem Login kopieren

Wir bereiten eine Hash-Map vor, um die Anzahl des Vorkommens jeder Zahl zu verfolgen, und schließlich iterieren wir die Karte, um das letzte Vorkommen dieser Zahl zu entfernen, das als ungerade Zahl erscheint der Zeiten.

Jeder Schlüssel in der Karte enthält einen Array-Wert, wobei das erste Element die Anzahl der Vorkommen dieses Elements und das zweite Element der Index des letzten Vorkommens dieses Elements ist.

Beispiel

Der Code lautet -

Live-Demo

const arr = [1, 6, 3, 1, 3, 1, 6, 3]; const removeOddOccurence = (arr =[]) => { // keeping the original array unaltered const copy = arr.slice(); const map = {}; arr.forEach((num, ind) => { if(map.hasOwnProperty(num)){ map[num][0]++; map[num][1] = ind; }else{ map[num] = [1, ind]; }; }); for(const key in map){ const [freq, index] = map[key]; if(freq !== 1 && freq % 2 === 1){ copy.splice(index, 1, ''); }; }; return copy.filter(el => el !== ''); }; console.log(removeOddOccurence(arr));
Nach dem Login kopieren

Ausgabe

Die Ausgabe in der Konsole lautet -

[1, 6, 3, 1, 3, 6]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEntfernen Sie ungerade Vorkommen einer beliebigen Zahl/eines beliebigen Elements aus dem Array in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!