logo

Kaip gauti visas unikalias reikšmes (pašalinti dublikatus) „JavaScript“ masyve?

Mes išmoksime gauti visas unikalias reikšmes (pašalinti dublikatus) „JavaScript“ masyve. Atsižvelgiant į masyvą su įvairiomis reikšmėmis, mūsų tikslas yra išfiltruoti visas dublikatus ir pateikti gautą masyvą konsolėje.

get-unique-values-in-a-javascript

gauti visas unikalias vertes (pašalinti dublikatus) „JavaScript“ masyve



Visas unikalias reikšmes „JavaScript“ masyve galime gauti šiais būdais:

eilutę į ilgą

Turinys

1 būdas: Naudojant kilpą

už kilpą metodas patikrino kiekvieną pradinio masyvo (listArray) reikšmę su kiekviena išvesties masyvo (outputArray) reikšme, iš kurios pašalinamos pasikartojančios reikšmės. Jei dabartinės vertės nėra išvesties masyve su unikaliomis reikšmėmis, tada pridėkite elementą į išvesties masyvą.



Pavyzdys: Šis pavyzdys generuoja unikalų eilučių reikšmių masyvą.

Javascript
// Creating a 3x4 two-dimensional array let Arr = [  'Manish', 'Chandan', 'Piyush',  'Sunil', 'Pankaj', 'Piyush',  'Pankaj', 'Tiny', 'Chandan',  'Manish']; let outputArray = []; // Count variable is used to add the // new unique value only once in the // outputArray. let count = 0; // Start variable is used to set true // if a repeated duplicate value is // encontered in the output array. let start = false; for (let j = 0; j < Arr.length; j++) {  for (let k = 0; k < outputArray.length; k++) {  if (Arr[j] == outputArray[k]) {  start = true;  }  }  count++;  if (count == 1 && start == false) {  outputArray.push(Arr[j]);  }  start = false;  count = 0; } console.log(outputArray);>

Išvestis
[ 'Manish', 'Chandan', 'Piyush', 'Sunil', 'Pankaj', 'Tiny' ]>

2 metodas: masyvo filtro() metodo naudojimas:

Funkcija arr.filter() naudojama sukurti naują masyvą iš esamo masyvo, kurį sudaro tik tie elementai iš nurodyto masyvo, kurie atitinka argumento funkcijos nustatytą sąlygą.

Pavyzdys: Šiame pavyzdyje mes naudosime masyvą filtras() būdas pašalinti dublikatus iš masyvo.



Javascript
let Arr = [  'g', 'e', 'e', 'k', 's',   'f', 'o', 'r', 'g', 'e',   'e', 'k', 's' ]; let outputArray = []; function removewithfilter(arr) {  let outputArray = arr.filter(function (v, i, self) {  // It returns the index of the first  // instance of each value  return i == self.indexOf(v);  });  return outputArray; } console.log(removewithfilter(Arr));>

Išvestis
[ 'g', 'e', 'k', 's', 'f', 'o', 'r' ]>

3 metodas: naudojant set() metodą

Rinkinys yra unikalių daiktų rinkinys, ty joks elementas negali pasikartoti. ES6 rinkiniai yra išdėstyti: rinkinio elementai gali būti kartojami įterpimo tvarka. Rinkinys gali saugoti bet kokio tipo primityvias ar objektus.

Pavyzdys: Šiame pavyzdyje mes naudosime set() metodas kad pašalintumėte dublikatus iš masyvo.

Javascript
let Arr = [  'DS', 'Algo', 'OS', 'HTML', 'DS',  'OS', 'Java', 'HTML', 'Algo' ]; let outputArray = []; function removeusingSet(arr) {  let outputArray = Array.from(new Set(arr))  return outputArray } console.log(removeusingSet(Arr));>

Išvestis
[ 'DS', 'Algo', 'OS', 'HTML', 'Java' ]>

4 metodas: mažinimo() metodo naudojimas

The sumažinti() metodą naudojamas masyvo elementams sumažinti ir sujungti juos į galutinį masyvą, pagrįstą tam tikra reduktoriaus funkcija, kurią perduodate.

java vadovėliai

Pavyzdys: Šiame pavyzdyje pamatysime, kaip naudojamas mažinimo() metodas.

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
[ 'apple', 'mango', 'orange' ]>

5 metodas: ForEach() metodo naudojimas

Naudodami kiekvienam () metodui , galime kartoti masyvo elementus ir įstumsime į naują masyvą, jei jo masyve nėra.

Pavyzdys: Šiame pavyzdyje pamatysime forEach() metodo naudojimą.

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' ]>

6 būdas: Naudojant 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: Šiame pavyzdyje pamatysime, kaip naudojamas indexOf() metodas.

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

7 būdas: Funkcijos Underscore.js _.uniq() naudojimas

Taip pat galime naudoti trečiosios šalies biblioteką, pvz Lodašas arba Underscore.js pašalinti pasikartojančius elementus iš a Javascript masyvas . The _.uniq() funkcija grąžina masyvą, kuriame nėra pasikartojančių elementų.

Pavyzdys: Šiame pavyzdyje naudosime funkciją _.uniq().

Javascript
const _ = require('underscore'); console.log( _.uniq([1, 2, 3, 4, 5, 4, 3, 2, 1]));>

Išvestis:

[ 1, 2, 3, 4, 5 ]>