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

Tìm số nhỏ nhất trong mảng JavaScript

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

Tìm số nhỏ nhất trong mảng JavaScript

Để tìm phần tử nhỏ 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ố nhỏ 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("min= ",max_val);

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

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

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

Để tìm vị trí số nhỏ 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ố nhỏ nhất cũng như là vị trí index của nó.

Ý tưởng ở đây là giả sử min (giá trị nhỏ 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 min, nếu số này nhỏ hơn min thì đổi giá trị của min 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 số nhỏ nhất trong mảng ban đầu.

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

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

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

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

min=  2
min_index= 3

Tìm số nhỏ thứ hai trong mảng JavaScript

Để tìm số nhỏ 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ố nhỏ nhất mảng là số đầu tiên, và số nhỏ 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ố nhỏ 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 sau: Sắp xếp mảng trong JavaScript

Sau đây là ví dụ về cách tìm số nhỏ 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("min= ",array[0]);

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

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

min=  2
min thứ 2= 3

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

Chúng ta cũng có thể áp dụng phương pháp tìm số nhỏ 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 nhỏ nhất trong mảng

Ý 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ì các số sẽ được sắp xếp theo thứ tự từ nhỏ nhất đến lớn 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 nhỏ 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ẻ nhỏ 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ố số chẵn nhỏ nhất và số lẻ nhỏ nhất trong mảng bằng cách sắp xếp mảng tăng 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ự tăng dần
array.sort(function(a, b) {
return a - b;
});

/*số chẵn nhỏ 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 nhỏ nhất
console.log( "Số chẵn nhỏ nhất = ",array[i])
break;
}
}

/*số lẻ nhỏ 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ẻ nhỏ nhất
console.log( "Số lẻ nhỏ nhất= ",array[i])
break;
}
}

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

Số chẵn nhỏ nhất =  2
Số lẻ nhỏ nhất= 3

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm số nhỏ 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.