Chúng ta có một mảng các số được sắp xếp ngẫu nhiên. Nhiệm vụ là viết một hàm nhận vào mảng số và trả về hiệu giữa số lớn nhất và nhỏ nhất, nhưng không được sắp xếp mảng.
Chúng ta sẽ sử dụng Array.prototype.reduce() để tìm giá trị nhỏ nhất và lớn nhất từ mảng, sau đó trả về hiệu của chúng. Dưới đây là mã thực hiện:
Ví dụ
const arr = [23, 65, 67, 23, 2, 6, 87, 23, 45, 65, 3, 234, 3]; const findDifference = arr => { if(!arr.length){ return 0; } const creds = arr.reduce((acc, val) => { let { max, min } = acc; if(val > max){ max = val; }; if(val < min){ min = val; }; return { max, min }; }, { max: -Infinity, min: Infinity }); return creds.max - creds.min; }; console.log(findDifference(arr));Kết quả
Đầu ra trong console sẽ là:
232