logo

JavaScript 배열에서 모든 고유 값을 가져오는 방법(중복 제거)은 무엇입니까?

우리는 JavaScript 배열에서 모든 고유 값을 가져오는 방법(중복 제거)을 배울 것입니다. 다양한 값을 가진 배열이 주어지면 우리의 목표는 모든 중복 항목을 필터링하고 결과 배열을 콘솔에 표시하는 것입니다.

자바스크립트에서 고유한 값 가져오기

JavaScript 배열에서 모든 고유 값 가져오기(중복 제거)



다음과 같은 방법으로 JavaScript 배열의 모든 고유 값을 얻을 수 있습니다.

문자열.비교 C#

내용의 테이블

방법 1: for 루프 사용

for 루프 메소드는 중복 값이 ​​제거된 출력 배열(outputArray)의 각 값으로 원본 배열(listArray)의 각 값을 확인했습니다. 현재 값이 고유한 값을 가진 출력 배열에 없으면 출력 배열에 요소를 추가합니다.



예: 이 예에서는 문자열 값의 고유한 배열을 생성합니다.

자바스크립트
// 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);>

산출
[ 'Manish', 'Chandan', 'Piyush', 'Sunil', 'Pankaj', 'Tiny' ]>

방법 2: Array filter() 메서드 사용:

arr.filter() 함수는 인수 함수에 의해 설정된 조건을 만족하는 주어진 배열의 요소로만 구성된 기존 배열에서 새 배열을 만드는 데 사용됩니다.

예: 이 예에서는 배열을 사용합니다. 필터() 배열에서 중복 항목을 제거하는 방법입니다.



자바스크립트
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));>

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

방법 3: set() 메서드 사용

세트는 고유한 항목의 모음입니다. 즉, 어떤 요소도 반복될 수 없습니다. ES6의 세트는 순서가 지정됩니다. 세트의 요소는 삽입 순서에 따라 반복될 수 있습니다. 세트는 기본 값이든 객체이든 모든 유형의 값을 저장할 수 있습니다.

예: 이 예에서는 set() 메서드 배열에서 중복 항목을 제거합니다.

자바스크립트
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));>

산출
[ 'DS', 'Algo', 'OS', 'HTML', 'Java' ]>

방법 4: Reduce() 메서드 사용

그만큼 감소() 메서드 전달한 일부 감속기 함수를 기반으로 배열의 요소를 줄이고 이를 최종 배열로 결합하는 데 사용됩니다.

리눅스 아키텍처

예: 이번 예제에서는 Reduce() 메소드를 사용하는 방법을 살펴보겠습니다.

자바스크립트
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));>

산출
[ 'apple', 'mango', 'orange' ]>

방법 5: forEach() 메서드 사용

을 사용하여 forEach() 메서드 , 배열의 요소를 반복할 수 있으며 배열에 요소가 없으면 새 배열로 푸시합니다.

예: 이 예에서는 forEach() 메서드를 사용하는 방법을 살펴보겠습니다.

자바스크립트
let arr = ['apple', 'mango',  'apple', 'orange', 'mango', 'mango']; function removeDuplicates(arr) {  let unique = [];  arr.forEach(element =>{ if (!unique.includes(element)) { Unique.push(element);  } });  고유한 반환; } console.log(removeDuplicates(arr));>

산출
[ 'apple', 'mango', 'orange' ]>

방법 6: indexOf() 메소드 사용

그만큼 indexOf() 메서드 배열 요소의 첫 번째 발생 인덱스를 찾는 데 사용됩니다. 배열의 요소를 반복할 수 있으며 결과 배열에 새 배열이 없으면 새 배열로 푸시합니다.

예: 이 예에서는 indexOf() 메서드를 사용하는 방법을 살펴보겠습니다.

자바스크립트
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));>

산출
[ 'apple', 'mango', 'orange' ]>

방법 7: Underscore.js _.uniq() 함수 사용

다음과 같은 타사 라이브러리를 사용할 수도 있습니다. 로다시 또는 Underscore.js 중복된 요소를 제거하려면 자바스크립트 배열 . 그만큼 _.uniq() 함수 중복된 요소를 포함하지 않는 배열을 반환합니다.

예: 이 예에서는 _.uniq() 함수를 사용합니다.

자바스크립트
const _ = require('underscore'); console.log( _.uniq([1, 2, 3, 4, 5, 4, 3, 2, 1]));>

산출:

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