Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra mean và mode của tập dữ liệu có bằng nhau trong JavaScript

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.