Tìm số lớn nhất trong mảng JavaScript | Laptrinhcanban.com

Tìm số lớn nhất trong mảng JavaScript

Hướng dẫn cách tìm số lớn nhất trong mảng JavaScript. Bạn sẽ học được cách tìm phần tử lớn nhất trong mảng JavaScript, cách tìm vị trí số lớn nhất trong mảng JavaScript, cách tìm số lớn thứ hai trong mảng JavaScript, cũng như cách tìm số chẵn lớn nhất trong mảng sau bài học này.

Tìm số lớn nhất trong mảng JavaScript

Để tìm phần tử lớn nhất trong mảng JavaScript, chúng ta có thể sử dụng một trong các phương pháp mà Kiyoshi đã hướng dẫn trong bài Tìm max và min trong mảng JavaScript thì chúng ta cũng có thể sử dụng

Ví dụ, chúng ta có thể sử dụng Array reduce để tìm số lớn nhất và nhỏ nhất trong mảng JavaScript như sau:

let num = [5, 4, 7, 2, 8, 7, 3];

/*Tìm max trong mảng bằng Array reduce */
let max_val = num.reduce(function(accumulator, element){
return (accumulator > element) ? accumulator : element
});
console.log(num);
console.log("max= ",max_val);

Kết quả phép tìm số lớn nhất trong mảng JavaScript như sau:

[ 5, 4, 7, 2, 8, 7, 3 ]
max= 8

Tìm vị trí số lớn nhất trong mảng JavaScript

Để tìm vị trí số lớn nhất trong mảng JavaScript, chúng ta cần sử dụng tới một vòng lặp, so sánh tất cả các số trong mảng để tìm ra số lớn nhất cũng như là vị trí index của nó.

Ý tưởng ở đây là giả sử max (giá trị lớn nhất của mảng) là số đầu tiên của mảng. Chúng ta sẽ lấy lần lượt các số còn lại trong mảng đem so sánh với max, nếu số này lớn hơn max thì đổi giá trị của max thành số đó. Và làm như thế cho tới số cuối cùng trong mảng được kiểm tra thì sẽ ra phần tử lớn nhất trong mảng ban đầu.

Và chúng ta viết hàm tìm vị trí số lớn nhất trong mảng JavaScript trong chương trình như sau:

/*Hàm tìm vị trí số lớn nhất trong mảng JavaScript*/
function maxElement(array){

//Giả định vị trí số lớn nhất là số đầu tiên của mảng.
let max = array[0];
let max_index= 0;
/*So sánh từng số trong mảng với giá trị đầu tiên để tìm ra giá trị lớn nhất*/
for (let i = 0; i < array.length; ++i) {
if (max < array[i]) { //Thay đổi giá trị lớn nhất nếu tìm ra số lớn hơn
max = array[i];
max_index =i;
}
}
console.log("max= ",max);
console.log("max_index= ",max_index);
}

let num = [5, 4, 7, 2, 8, 7, 3];

maxElement(num);

Kết quả phép tìm số lớn nhất trong mảng JavaScript như sau:

max=  8
max_index= 4

Tìm số lớn thứ 2 trong mảng JavaScript

Để tìm số lớn thứ hai trong mảng JavaScript, chúng ta sẽ dùng tới phương pháp Tìm số lớn nhất và nhỏ nhất trong mảng JavaScript bằng cách sắp xếp mảng mà Kiyoshi đã hướng dẫn trong bài: Tìm max và min trong mảng JavaScript

Ý tưởng ở đây là chúng ta sẽ sắp xếp mảng theo thứ tự tăng dần. Và sau khi sắp xếp thì số lớn nhất mảng là số đầu tiên, và số lớn thứ 2 chính là số đứng thứ 2 trong mảng.

Một cách tổng quát thì chúng ta cũng có thể tìm số lớn thứ n trong mảng bằng phương pháp sắp xếp này.

Về sắp xếp mảng trong JavaScript thì chúng ta sẽ dùng tới phương pháp mà Kiyoshi đã hướng dẫn trong bài: Sắp xếp mảng trong JavaScript

Sau đây là ví dụ về cách tìm số lớn thứ hai trong mảng JavaScript bằng cách sắp xếp mảng tăng dần.

let array = [5, 4, 7, 2, 8, 12 ,7, 3];

/*Sắp xếp mảng số theo thứ tự tăng dần*/
array.sort(function(a, b) {
return a - b;
});
console.log("max= ",array[array.length-1]);

n = 2
console.log("max thứ "+n +"= ",array[array.length-n]);

Kết quả phép tìm số lớn thứ hai trong mảng JavaScript như sau:

max=  12
max thứ 2= 8

Tìm số chẵn lớn nhất trong mảng

Chúng ta cũng có thể áp dụng phương pháp tìm số lớn nhất và nhỏ nhất trong mảng JavaScript bằng cách sắp xếp mảng ở trên để tìm số chẵn lớn nhất trong mảng

Ý tưởng ở đây là chúng ta sẽ sắp xếp mảng theo thứ tự giảm dần. Và sau khi sắp xếp thì các số sẽ được sắp xếp theo thứ tự từ lớn nhất đến nhỏ nhất, tính từ đầu mảng. Khi đó, chỉ cần chúng ta tìm ra số chẵn đầu tiên tính từ đầu mảng, thì đó chính là số chẵn lớn nhất trong mảng cần tìm.

Một cách tương tự thì chúng ta cũng có thể tìm số lẻ lớn nhất trong mảng theo cách này.

Để kiểm tra một số trong mảng là chẵn hay lẻ, chúng ta sẽ dùng tới một trong hai phương pháp mà Kiyoshi đã hướng dẫn trong bài: Kiểm tra số chẵn lẻ trong JavaScript

Và để sắp xếp mảng trong JavaScript thì chúng ta sẽ dùng tới phương pháp mà Kiyoshi đã hướng dẫn trong bài: Sắp xếp mảng trong JavaScript

Sau đây là ví dụ về cách tìm số chẵn lớn nhất và số lẻ lớn nhất trong mảng bằng cách sắp xếp mảng giảm dần.

/*Tạo hàm kiểm tra số chẵn lẻ trong JavaScript*/
function check_odd_even(n){
//flag = 1 => số lẻ
//flag = 0 => số chẵn

let flag = 1;
if( n % 2 == 0 ) flag= 0;
return flag;
}

let array = [5, 4, 7, 2, 8, 12 ,7, 3];

// Sắp xếp mảng số theo thứ tự giảm dần
array.sort(function(a, b) {
return b - a;
});


/*số chẵn lớn nhất trong mảng chính là số chẵn đầu tiên*/
for (let i = 0; i < array.length; ++i) {
let check = check_odd_even(array[i]);
if (check == 0) { //Tìm thấy số chẵn lớn nhất
console.log( "Số chẵn lớn nhất = ",array[i])
break;
}
}

/*số lẻ lớn nhất trong mảng chính là số lẻ đầu tiên*/
for (let i = 0; i < array.length; ++i) {

let check = check_odd_even(array[i]);
if (check == 1) { //Tìm thấy số lẻ lớn nhất
console.log( "Số lẻ lớn nhất= ",array[i])
break;
}
}

Kết quả chương trình tìm số chẵn lớn nhất và số lẻ lớn nhất trong mảng như sau:

Số chẵn lớn nhất =  12
Số lẻ lớn nhất= 7

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm số lớn nhất trong mảng JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.