„JavaScript“ masyvai yra duomenų struktūros, kuriose galima saugoti kelias reikšmes. Tačiau gali būti daug atvejų, kai masyve yra pasikartojančių elementų. Šiame vadove sužinosite apie įvairius būdus, kaip pašalinti šiuos dublikatus ir sukurti masyvą su unikaliais elementais.
Pastaba: Sužinokite daugiau apie „JavaScript“ masyvus
Pasikartojančių elementų pašalinimo iš „JavaScript“ masyvo metodai
Turinys
- Naudojant Javascript filtro() metodą
- Naudojant Javascript set() metodą
- Naudojant Javascript forEach() metodą
- Naudojant „Javascript“ mažinimo () metodą
- Naudojant Javascript indexOf() metodą
- Naudojant trečiosios šalies biblioteką
Naudojant JavaScript filtro() metodą
The filtras() metodas sukuria naują elementų masyvą, atitinkantį perduotą sąlygą per skambinimo funkciją. Ji apims tik tuos elementus, kuriems grąžinama tiesa.
Pavyzdys: Žemiau pateiktas kodas naudoja filtras() metodas Norėdami pašalinti „JavaScript“ masyvo elemento dublikatą.
Javascript let arr = ['apple', 'mango', 'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) { return arr.filter((item, index) =>arr.indexOf(element) === indeksas); } console.log(removeDuplicates(arr));>>
Išvestis [ 'apple', 'mango', 'orange' ]>
Naudojant JavaScript set() metodą
Šis metodas nustato naują objekto tipą su ES6 (ES2015), kuris leidžia kurti unikalių reikšmių rinkinius.
Pavyzdys: Šiame pavyzdyje naudojama JavaScript set() metodas pašalinti dublikatus iš masyvo.
Javascript let arr = ['apple', 'mango', 'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) { return [...new Set(arr)]; } console.log(removeDuplicates(arr));>
Išvestis
Naudojant JavaScript forEach() metodą
Naudodami kiekvienam () metodui , galime kartoti masyvo elementus ir įstumsime į naują masyvą, jei jo masyve nėra.
Pavyzdys: Metodas forEach() naudojamas elementams pašalinti iš JavaScript masyvo toliau pateiktame kode.
Javascript let arr = ['apple', 'mango', 'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) { let unique = []; arr.forEach(element =>{ if (!unique.includes(element)) { unikalus.push(element); } }); grąžinti unikalų; } console.log(removeDuplicates(arr));>>
Išvestis
[ 'apple', 'mango', 'orange' ]>
Naudojant JavaScript mažinimo() metodą
The sumažinti() metodą naudojamas sumažinti masyvo elementus ir sujungti juos į galutinį masyvą, pagrįstą tam tikra reduktoriaus funkcija, kurią perduodate.
Pavyzdys: Sumažinimo () metodas naudojamas dublikatams pašalinti iš „JavaScript“ masyvo.
Javascript let arr = ['apple', 'mango', 'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) { let unique = arr.reduce(function (acc, curr) { if (!acc.includes(curr)) acc.push(curr); return acc; }, []); return unique; } console.log(removeDuplicates(arr));>
Išvestis
Naudojant JavaScript indexOf() metodą
The indexOf() metodas naudojamas norint rasti pirmąjį masyvo elemento atsiradimo indeksą. galime kartoti masyvo elementus ir įstumsime į naują masyvą, jei jo nėra gautame masyve.
Pavyzdys: Toliau pateiktame kodo pavyzdyje naudojamas indexOf() metodo metodas, siekiant pašalinti masyvo dublikatus.
Javascript let arr = ['apple', 'mango', 'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) { let unique = []; for (i = 0; i < arr.length; i++) { if (unique.indexOf(arr[i]) === -1) { unique.push(arr[i]); } } return unique; } console.log(removeDuplicates(arr));>
Išvestis
[ 'apple', 'mango', 'orange' ]>
Naudojant trečiosios šalies biblioteką
Taip pat galime naudoti trečiosios šalies biblioteką, pvz Lodašas arba Underscore.js pašalinti pasikartojančius elementus iš Javascript masyvo. The _.uniq() funkcija grąžina masyvą, kuriame nėra pasikartojančių elementų.
Pavyzdys: _.uniq() bibliotekos underscore.js funkcija naudojama toliau pateiktame kode elementams iš masyvo pašalinti.
HTML