JavaScript를 사용하여 동일한 ID와 동일한 ID로 배열 요소를 하나의 객체로 병합하는 방법은 무엇입니까?
JavaScript 배열 요소 병합 : 동일한 ID와 하나의 객체로 요소를 병합
데이터 처리에서 배열 요소를 동일한 ID와 하나의 객체로 병합해야합니다. 이 기사는 자바 스크립트 솔루션을 제공하여 배열 요소를 동일한 ID이지만 다른 속성을 새로운 배열 형식으로 변환합니다.
원래 데이터 형식 :
const list = [ {id : "202301", Jine : 23, type : "dinner"}, {id : "202301", Jine : 87.5, 유형 : "아침 식사"}, {id : "202301", Jine : 1065.5, 유형 : "Chinese Food"}, {id : "202302", Jine : 10, type : "dinner"}, {id : "202302", Jine : 181.5, 유형 : "아침 식사"}, {id : "202302", Jine : 633.5, 유형 : "중국 음식"} ];
대상 데이터 형식 :
const targetList = [ {id : "202301", jine1 : 87.5, jine2 : 1065.5, jine3 : 23}, {id : "202302", Jine1 : 181.5, Jine2 : 633.5, jine3 : 10} ];
해결책:
우리는 reduce
방법을 사용하여 데이터 변환을 구현합니다. 이 메소드는 배열을 반복하고 각 요소를 결과 객체로 축적합니다.
const result = object.values (list.reduce ((acc, curr) => { const {id, jine, type} = curr; if (! acc [id]) { acc [id] = {id}; } 스위치 (유형) { 사례 '아침 식사': acc [id] .jine1 = jine; 부서지다; 사례 '중국 음식': acc [id] .jine2 = jine; 부서지다; 사례 '저녁 식사': acc [id] .jine3 = jine; 부서지다; } 반환 ACC; }, {})); Console.log (결과); // 대상 데이터 형식을 출력합니다
코드 설명 :
- 방법
reduce
방법 : 방법reduce
방법은list
배열 위로 반복하고 각 요소를 객체acc
로 축적합니다. -
acc[id]
:id
를 사용하여 데이터를acc
객체에 저장하십시오.id
존재하지 않으면 새 객체가 생성됩니다. -
switch
명령문 :type
속성의 값에 따라jine1
,jine2
또는jine3
에jine
값을 할당하십시오. -
Object.values
: 마지막으로Object.values
사용하여acc
객체를 배열로 변환하여 대상 데이터 형식을 얻습니다.
이 방법은 명확하고 간결하여 외부 라이브러리의 사용을 피하고 JavaScript 내장 방법을 직접 사용하여 데이터 변환을 구현합니다. 더 많은 유형의 식사를 처리 해야하는 경우 switch
문에 더 많은 case
추가해야합니다.
위 내용은 JavaScript를 사용하여 동일한 ID와 동일한 ID로 배열 요소를 하나의 객체로 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

Linux System은 Ulimit 명령을 통해 사용자 리소스를 제한하여 자원의 과도한 사용을 방지합니다. 1. ulimit은 파일 설명자 수 (-n), 메모리 크기 (-v), 스레드 카운트 (-u) 등을 제한 할 수있는 내장 된 쉘 명령입니다. 2. ULIMIT-N2048과 같은 임시 수정을 위해 ULIMIT 명령을 직접 사용하지만 현재 세션에는 유효합니다. 3. 영구적 인 효과를 위해서는 /etc/security/limits.conf 및 pam 구성 파일을 수정하고 sessionRequiredPam_limits.so를 추가해야합니다. 4. SystemD 서비스는 단위 파일에서 lim을 설정해야합니다.

미들웨어는 Laravel의 필터링 메커니즘으로 HTTP 요청을 가로 채고 처리하는 데 사용됩니다. 단계 사용 : 1. 미들웨어 생성 : "Phpartisanmake : Middlewarecheckrole"명령을 사용하십시오. 2. 처리 로직 정의 : 생성 된 파일에 특정 로직을 쓰십시오. 3. 미들웨어 등록 : kernel.php에 미들웨어를 추가하십시오. 4. 미들웨어 사용 : 라우팅 정의에 미들웨어를 적용하십시오.

Laravel의 페이지 캐싱 전략은 웹 사이트 성능을 크게 향상시킬 수 있습니다. 1) 캐시 헬퍼 기능을 사용하여 캐시 :: 기억 메소드와 같은 페이지 캐싱을 구현하십시오. 2) Redis와 같은 적절한 캐시 백엔드를 선택하십시오. 3) 데이터 일관성 문제에주의를 기울이면 세밀한 캐시 또는 이벤트 리스너를 사용하여 캐시를 지울 수 있습니다. 4) 추가 최적화는 라우팅 캐시, 캐시 및 캐시 태그보기와 결합됩니다. 이러한 전략을 합리적으로 적용함으로써 웹 사이트 성능을 효과적으로 향상시킬 수 있습니다.

인터넷의 활발한 발전으로 한국 만화 (한국 만화)는 절묘한 그림 스타일, 매혹적인 음모 및 풍부하고 다양한 테마로 전 세계의 점점 더 많은 독자들의 사랑을 얻었습니다. 흥미 진진한 한국 만화 세계에서 어디서나 여행하고 싶다면 안정적이고 무료이며 리소스가 풍부한 온라인 독서 플랫폼을 찾는 것이 중요합니다. 이 기사는 무료 만화를 위해 온라인으로 한국 만화를 시청하는 데 대한 자세한 안내서를 제공하여 한국 만화 여행을 쉽게 시작할 수 있도록 도와줍니다.

Redis Master-Slave 복제 실패 문제 해결 및 복구 단계에는 다음이 포함됩니다. 1. 네트워크 연결을 확인하고 Ping 또는 Telnet을 사용하여 연결을 테스트합니다. 2. 레 디스 구성 파일을 점검하여 복제 및 대체 시간이 올바르게 설정되어 있는지 확인하십시오. 3. Redis 로그 파일을 확인하고 오류 정보를 찾으십시오. 4. 네트워크 문제인 경우 네트워크 장치를 다시 시작하거나 대체 경로를 전환하십시오. 5. 구성 문제 인 경우 구성 파일을 수정하십시오. 6. 데이터 동기화 문제 인 경우 슬레이브의 명령을 사용하여 데이터를 다시 동기화하십시오.

Redis 클러스터 노드 실패의 빠른 위치 및 처리 단계는 다음과 같습니다. 1. 결함 확인 : Clusternodes 명령을 사용하여 노드 상태를보십시오. 실패가 표시되면 노드가 실패합니다. 2. 원인을 결정하십시오 : 네트워크, 하드웨어 및 구성을 확인하십시오. 일반적인 문제에는 메모리 제한이 초과됩니다. 3. 수리 및 복원 : 서비스 재시작, 하드웨어 교체 또는 구성 수정과 같은 이유에 따라 조치를 취합니다. 4. 참고 : 데이터 일관성을 확인하고, 적절한 장애 조치 정책을 선택하고, 모니터링 및 경보 시스템을 설정하십시오.

Global Cryptocurrency Exchange Kucoin은 최근 유럽 리더십 팀의 형성을 완료하여 두 명의 높은 경영진을 임명했습니다. 이 인력 변경은 EU 시장에서 Kucoin의 가속 레이아웃의 일부입니다. 현재이 회사는 오스트리아 금융 시장 당국 (FMA)을 통해 관련 라이센스 프로세스를 발전시키고 전통적인 금융 및 암호화로부터 선임 전문가를 소개하여 경영을 강화하고 있습니다. Kucoineu는 현재 유럽 경제 지역 (EEA) 내에서 완벽한 암호 화폐 서비스를 제공하기 위해 전체 준수 운영을 달성하기 위해 FMA와 적극적으로 의사 소통하고 있습니다. 이 단계에서 회사는 아직 EU 또는 EEA 내에서 사업을 수행하지 않았으며 해당 라이센스를 얻으려고합니다.

Redis와 Rabbitmq는 각각 성능 및 공동 응용 시나리오에서 고유 한 장점을 가지고 있습니다. 1.REDIS는 데이터 읽기 및 쓰기에서 훌륭하게 수행되며 최대 마이크로 초의 대기 시간은 높은 동시성 시나리오에 적합합니다. 2.RABBITMQ는 메시징, 밀리 초의 대기 시간에 중점을두고 다중 큐 및 소비자 모델을 지원합니다. 3. 공동 응용 프로그램에서 Redis는 데이터 저장에 사용될 수 있으며 RabbitMQ는 비동기 작업을 처리하고 시스템 응답 속도 및 신뢰성을 향상시킵니다.
