> 웹 프론트엔드 > JS 튜토리얼 > JavaScript의 배열에서 홀수로 나타나는 숫자/요소 제거

JavaScript의 배열에서 홀수로 나타나는 숫자/요소 제거

王林
풀어 주다: 2023-09-06 22:53:07
앞으로
1558명이 탐색했습니다.

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

다음과 같은 숫자 배열이 있다고 가정해 보겠습니다. -

const arr = [1, 6, 3, 1, 3, 1, 6, 3];
로그인 후 복사

이와 같은 배열을 첫 번째이자 유일한 매개변수로 받아들이는 JavaScript 함수를 작성해야 합니다. 그런 다음 함수는 배열에서 홀수 번(한 번만 제외) 발생하는 모든 숫자를 찾아야 합니다.

예를 들어,

위 배열에서 숫자 1과 3은 모두 3번(홀수) 나타나므로 함수는 이 두 숫자 중 세 번째로 나타나는 것을 제거해야 합니다.

출력 배열은 다음과 같아야 합니다. -

const output = [1, 6, 3, 1, 3, 6];
로그인 후 복사

각 숫자의 발생 횟수를 추적하기 위해 해시 맵을 준비하고 마지막으로 홀수로 나타나는 해당 숫자의 마지막 발생을 제거하기 위해 맵을 반복합니다. 여러 번.

맵의 각 키는 첫 번째 요소가 해당 요소의 발생 횟수이고 두 번째 요소가 해당 요소의 마지막 발생 인덱스인 배열 값을 보유합니다.

Example

코드는 -

라이브 데모

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));
로그인 후 복사

Output

콘솔의 출력은 -

[1, 6, 3, 1, 3, 6]
로그인 후 복사
입니다.

위 내용은 JavaScript의 배열에서 홀수로 나타나는 숫자/요소 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿