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

JavaScript의 각 배열 요소에 f(x) 적용

<시간/>

문제

로 주어진 수학 함수를 가정합니다.
f(x) = ax2 + bx + c

여기서, b 및 c는 세 개의 상수입니다.

우리는 정렬된 정수 배열을 취하는 JavaScript 함수를 작성해야 합니다. arr은 첫 번째 인수로, a, b 및 c는 두 번째, 세 번째 및 네 번째 인수로 사용됩니다. 함수는 배열 arr의 각 요소에 함수 f(x)를 적용해야 합니다.

그리고 함수는 변환된 배열의 정렬된 버전을 반환해야 합니다.

예를 들어, 함수에 대한 입력이 -

인 경우
const arr = [-8, -3, -1, 5, 7, 9];
const a = 1;
const b = 4;
const c = 7;

그러면 출력은 다음과 같아야 합니다. -

const output = [ 4, 4, 39, 52, 84, 124 ];

예시

이에 대한 코드는 -

const arr = [-8, -3, -1, 5, 7, 9];
const a = 1;
const b = 4;
const c = 7;
const applyFunction = (arr = [], a = 1, b = 1, c = 1) => {
   const apply = (num, a, b, c) => {
      const res = (a * (num * num)) + (b * num) + (c);
      return res;
   };
   const result = arr.map(el => apply(el, a, b, c));
   result.sort((a, b) => a - b);
   return result;
};
console.log(applyFunction(arr, a, b, c));

코드 설명:

먼저 배열에 매핑하여 각 요소에 f(x) 함수를 적용한 다음 Array.prototype.sort()를 사용하여 배열을 정렬한 다음 마지막으로 정렬된 배열을 반환했습니다.

출력

콘솔의 출력은 -

[ 4, 4, 39, 52, 84, 124 ]