Chúng ta cần viết một hàm JavaScript nhận vào một mảng các số đã sắp xếp. Hàm nên tính mean (trung bình cộng) và mode (mốt - giá trị xuất hiện nhiều nhất) của tập dữ liệu. Nếu mean và mode bằng nhau, hàm trả về true, ngược lại false.
Ví dụ:
Nếu mảng đầu vào là:
const arr = [5, 3, 3, 3, 1];
Thì đầu ra cho mảng này nên là true vì cả mean và median của mảng này đều là 3.
Ví dụ
Dưới đây là mã nguồn:
const arr = [5, 3, 3, 3, 1]; mean = arr => (arr.reduce((a, b) => a + b))/(arr.length); mode = arr => { let obj = {}, max = 1, mode; for (let i of arr) { obj[i] = obj[i] || 0; obj[i]++ } for (let i in obj) { if (obj.hasOwnProperty(i)) { if ( obj[i] > max ) { max = obj[i] mode = i; } } } return +mode; } const meanMode = arr => mean(arr) === mode(arr) console.log(meanMode(arr));Kết quả
Đầu ra trên console:
true
Lưu ý: Mô tả đề bài nói "mean và median" nhưng code so sánh "mean và mode". Mảng [5,3,3,3,1] có mean=3, mode=3, median=3 (sau khi sort: [1,3,3,3,5]). Kết quả true đúng cho cả hai trường hợp.