다음과 같은 숫자 리터럴 배열이 있습니다 -
상수 숫자 =[10,6200,20,20,350,900,26,78,888,10000,78,15000,200,1280,2000,450];
우리는 숫자 배열과 [0,100] 사이의 숫자를 취하는 함수를 작성해야 합니다. 기본적으로 이 숫자는 특정 퍼센트를 나타냅니다. 지금은 이 숫자를 x로 표시하겠습니다.
이제 우리는 모든 배열 요소의 총합의 x %보다 작거나 같거나 더 작은 원래 배열의 처음 n개 요소의 하위 배열을 반환해야 합니다.
더 간단한 예를 들어보세요 -
상수 숫자 =[12, 10, 6, 8, 4, 2, 8];
이 배열의 총합은 50이고 이제 두 번째 인수(x에 대한 값)로 25를 제공하면 실제로 합이 50의 25%와 같거나 작은 처음 n개의 요소를 반환해야 합니다. 12.5.
따라서 이 경우 두 번째 요소(10)를 12에 추가하면 임계값(12.5)을 초과하므로 첫 번째 요소만 있는 배열이 반환되어야 합니다.
이에 대한 코드를 작성해 보겠습니다. 처음에는 단순히 배열을 합으로 줄인 다음 for 루프에서 위에서 언급한 기준과 일치하는 배열을 구성합니다 -
예시
상수 숫자 =[10,6200,20,20,350,900,26,78,888,10000,78,15000,200,1280,2000,450]; const findPercent =(arr, 퍼센트) => { const 합계 =arr. 감소((acc, val) => acc+val); 상수 부분 =[]; curr =0; for(let i =0; i출력
콘솔의 출력은 다음과 같습니다. -
<미리>[ 10, 6200, 20, 20, 350, 900, 26, 78, 888][ 10 ][ 10, 6200, 20, 20, 350, 900, 26, 78, 808, 10 780 , 6200, 20, 20, 350, 900, 26, 78, 888, 10000, 78, 15000, 200, 1280]