logo

Hur får man alla unika värden (ta bort dubbletter) i en JavaScript-array?

Vi ska lära oss hur man får alla unika värden (ta bort dubbletter) i en JavaScript-array. Med tanke på en array med olika värden är vårt mål att filtrera bort eventuella dubbletter och visa den resulterande arrayen i konsolen.

få-unika-värden-i-ett-javascript

få alla unika värden (ta bort dubbletter) i en JavaScript-array



Vi kan få alla unika värden i en JavaScript-array på följande sätt:

char till sträng i java

Innehållsförteckning

Metod 1: Används för loop

för slinga metod kontrollerade varje värde för den ursprungliga matrisen (listArray) med varje värde för utmatrisen (outputArray) där dubblettvärdena tas bort. Om det aktuella värdet inte finns i utmatningsmatrisen med unika värden, lägg sedan till elementet i utmatrisen.



Exempel: Det här exemplet genererar en unik matris med strängvärden.

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);>

Produktion
[ 'Manish', 'Chandan', 'Piyush', 'Sunil', 'Pankaj', 'Tiny' ]>

Metod 2: Använda Array filter()-metoden:

Funktionen arr.filter() används för att skapa en ny array från en befintlig array som endast består av de element från den givna arrayen som uppfyller ett villkor som ställs in av argumentfunktionen.

Exempel: I det här exemplet kommer vi att använda arrayen filtrera() metod för att ta bort dubbletter från arrayen.



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));>

Produktion
[ 'g', 'e', 'k', 's', 'f', 'o', 'r' ]>

Metod 3: Använda set()-metoden

En uppsättning är en samling av föremål som är unika, dvs inget element kan upprepas. Uppsättningar i ES6 är ordnade: element i uppsättningen kan itereras i insättningsordningen. Uppsättningen kan lagra vilken typ av värde som helst, oavsett om det är primitivt eller objekt.

Exempel: I det här exemplet kommer vi att använda set() Metod för att ta bort dubbletter från arrayen.

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));>

Produktion
[ 'DS', 'Algo', 'OS', 'HTML', 'Java' ]>

Metod 4: Använd metoden reduce().

De reduce() metod används för att reducera elementen i arrayen och kombinera dem till en slutlig array baserat på någon reduceringsfunktion som du klarar.

binär sökning

Exempel: I det här exemplet kommer vi att se användningen av metoden reduce().

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));>

Produktion
[ 'apple', 'mango', 'orange' ]>

Metod 5: Använd forEach()-metoden

Genom att använda forEach()-metoden , kan vi iterera över elementen i arrayen, och vi kommer att trycka in i den nya arrayen om den inte finns i arrayen.

Exempel: I det här exemplet kommer vi att se användningen av metoden forEach().

Javascript
let arr = ['apple', 'mango',  'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) {  let unique = [];  arr.forEach(element =>{ if (!unique.includes(element)) { unique.push(element);  } });  returnera unik; } console.log(removeDuplicates(arr));>

Produktion
[ 'apple', 'mango', 'orange' ]>

Metod 6: Använder metoden indexOf()

De indexOf() metod används för att hitta det första indexet för förekomst av ett matriselement. vi kan iterera över elementen i arrayen, och vi kommer att trycka in i den nya arrayen om den inte finns i den resulterande arrayen.

Exempel: I det här exemplet kommer vi att se användningen av metoden indexOf().

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));>

Produktion
[ 'apple', 'mango', 'orange' ]>

Metod 7: Använder Underscore.js _.uniq()-funktionen

Vi kan även använda ett tredjepartsbibliotek som t.ex Lodash eller Underscore.js för att ta bort dubbletter av element från en Javascript-array . De _.uniq() funktion returnerar arrayen som inte innehåller dubbletter av element.

Exempel: I det här exemplet kommer vi att använda funktionen _.uniq().

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

Produktion:

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