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

JavaScript에서 유사한 숫자로 시작하는 그룹 문자열

<시간/>

다음과 같은 문자열로 표현되는 숫자 배열이 있다고 가정해 보겠습니다. -

상수 arr =["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"]; 

우리는 하나의 그러한 배열을 취하고 공통 하위 배열에서 동일한 숫자로 시작하는 모든 문자열을 그룹화하는 JavaScript 함수를 작성해야 합니다.

따라서 함수의 출력은 다음과 같아야 합니다. -

상수 출력 =[["1.1","1.2","1.3"],["2.1","2.2"],["3.1","3.2","3.3"],["4.1", "4.2"]];

예시

이에 대한 코드는 -

 const arr =["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"]; const groupSimilarStarters =arr => { 하자 =[]; res =arr.reduce((acc, val, ind) => { const firstChar =el => { return (el || '').split('.')[0]; } if(firstChar(val) ===firstChar(arr[ind - 1])){ acc[acc.length - 1].push(val); }else{ acc.push([val]); }; 반환 acc; }, []); 반환 res;}console.log(groupSimilarStarters(arr));

출력

콘솔의 출력 -

[ [ '1.1', '1.2', '1.3' ], [ '2.1', '2.2' ], [ '3.1', '3.2', '3.3' ], [ '4.1', '4.2' ]]