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

JavaScript에서 동적 배열의 합을 수행해야 함

<시간/>

다른 스포츠의 일부 플레이어의 점수를 포함하는 배열이 있다고 가정해 보겠습니다. 점수는 다음과 같이 표시됩니다. -

const 점수 =[ {스포츠:'크리켓', 아만:54, 비샬:65, 제이:43, 하딕:88, 카란:23}, {스포츠:'축구', 아만:14, 비샬:75, jay:41, hardik:13, karan:73}, {스포츠:'하키', aman:43, vishal:35, jay:53, hardik:43, karan:29}, {스포츠:'배구', aman:76, vishal:22, jay:36, hardik:24, karan:47}, {스포츠:'야구', aman:87, vishal:57, jay:48, hardik:69, karan:37},]; 

우리는 이 배열을 취하고 forport 키 값이 "all"인 단일 객체를 반환하는 함수를 작성해야 하고 다른 플레이어 키는 배열의 무관한 객체에 존재하는 값의 합을 가져야 합니다. 따라서 이 함수의 코드를 작성해 보겠습니다 -

여기에서 Array.prototype.reduce() 메서드를 사용하여 모든 플레이어의 다른 스포츠 점수 합계를 줄입니다. 이 작업을 수행하는 코드는 -

입니다.

예시

const 점수 =[ {스포츠:'크리켓', 아만:54, 비샬:65, 제이:43, 하딕:88, 카란:23}, {스포츠:'축구', 아만:14, 비샬:75, jay:41, hardik:13, karan:73}, {스포츠:'하키', aman:43, vishal:35, jay:53, hardik:43, karan:29}, {스포츠:'배구', aman:76, vishal:22, jay:36, hardik:24, karan:47}, {스포츠:'야구', aman:87, vishal:57, jay:48, hardik:69, karan:37},];const sumScores =(arr) => { return arr.reduce((acc, val) => { Object.keys(val).forEach(key => { if(key!=='스포츠'){ acc[key] + =val[key]; }; }); if(acc['sport'] !=='all'){ acc['sport'] ='all'; }; return acc; });};console. log(sumScores(점수));

출력

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

{ sport:'all', aman:274, vishal:254, jay:221, hardik:237, karan:209}