Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript 객체 배열에서 중복 제거

<시간/>

배열에서 중복 객체를 제거하고 새 객체를 반환하는 함수를 작성해야 합니다. 동일한 수의 키, 동일한 키 및 각 키에 대해 동일한 값이 있는 경우 한 개체를 다른 개체의 복제본으로 간주합니다.

이에 대한 코드를 작성해 보겠습니다 -

맵을 사용하여 고유한 개체를 문자열 형식으로 저장하고 중복 키가 보이면 생략합니다. 그렇지 않으면 개체를 새 배열로 푸시합니다. −

예시

const arr = [
   {
      "timestamp": 564328370007,
      "message": "It will rain today"
   },
   {
      "timestamp": 164328302520,
      "message": "will it rain today"
   },
   {
      "timestamp": 564328370007,
      "message": "It will rain today"
   },
   {
      "timestamp": 564328370007,
      "message": "It will rain today"
   }
   ];
   const map = {};
   const newArray = [];
   arr.forEach(el => {
      if(!map[JSON.stringify(el)]){
         map[JSON.stringify(el)] = true;
         newArray.push(el);
   }
});
console.log(newArray);

출력

콘솔의 출력은 다음과 같습니다. -

[
   { timestamp: 564328370007, message: 'It will rain today' },
   { timestamp: 164328302520, message: 'will it rain today' }
]