Computer >> Máy Tính >  >> Lập trình >> Javascript

Áp dụng f (x) cho mỗi phần tử mảng trong JavaScript

Vấn đề

Giả sử, một hàm toán học được cho bởi -

f(x) = ax2 + bx + c

Trong đó a, b và c là ba hằng số.

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng Số nguyên đã được sắp xếp, arr làm đối số đầu tiên và a, b và c là đối số thứ hai, thứ ba và thứ tư. Hàm nên áp dụng hàm f (x) cho từng phần tử của mảng arr.

Và hàm sẽ trả về một phiên bản đã được sắp xếp của mảng đã biến đổi.

Ví dụ:nếu đầu vào của hàm là -

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

Sau đó, đầu ra phải là -

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

Ví dụ

Mã cho điều này sẽ là -

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));

Giải thích mã:

Đầu tiên, chúng tôi ánh xạ trên mảng để áp dụng hàm f (x) cho từng phần tử và sau đó sắp xếp mảng bằng cách sử dụng Array.prototype.sort () và cuối cùng trả về mảng đã sắp xếp.

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

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