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

Trong bài viết này, tôi sẽ giải thích cách giải quyết thử thách “Trả về số lớn nhất trong mảng” của Free Code Camp. Điều này liên quan đến việc trả về một mảng có số lớn nhất từ ​​​​mỗi mảng phụ

Có ba cách tiếp cận tôi sẽ đề cập

  1. với vòng lặp FOR
  2. sử dụng phương thức reduce[]
  3. sử dụng Toán học. tối đa[]

Thử thách thuật toán Mô tả

Trả về một mảng bao gồm số lớn nhất từ ​​mỗi mảng con được cung cấp. Để đơn giản, mảng được cung cấp sẽ chứa chính xác 4 mảng con

Hãy nhớ rằng, bạn có thể lặp qua một mảng bằng một vòng lặp for đơn giản và truy cập từng phần tử bằng cú pháp mảng arr[i]

Các trường hợp thử nghiệm được cung cấp

largestOfFour[[[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]] should return an array.largestOfFour[[[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 1001, 857, 1]]] should return [27,5,39,1001].largestOfFour[[[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]] should return [9, 35, 97, 1000000].
Phương pháp #1. Trả về số lớn nhất trong một mảng bằng vòng lặp For

Đây là giải pháp của tôi, với các nhận xét được nhúng để giúp bạn hiểu nó

Và đây là không có ý kiến ​​​​của tôi

Cách tiếp cận #2. Trả về các số lớn nhất trong một mảng với các hàm tích hợp — với map[] và reduce[]

Đối với giải pháp này, bạn sẽ sử dụng hai phương pháp. mảng. nguyên mẫu. phương thức map[] và Array. nguyên mẫu. phương pháp giảm []

  • Phương thức map[] tạo một mảng mới với kết quả gọi một hàm được cung cấp trên mọi phần tử trong mảng này. Việc sử dụng bản đồ sẽ gọi hàm gọi lại được cung cấp một lần cho từng phần tử trong một mảng, theo thứ tự và tạo một mảng mới từ kết quả
  • Phương thức reduce[] áp dụng một hàm đối với bộ tích lũy và mỗi giá trị của mảng để giảm nó thành một giá trị duy nhất

Toán tử bậc ba là toán tử JavaScript duy nhất có ba toán hạng. Toán tử này được dùng làm lối tắt cho câu lệnh if

[currentLargestNumber > previousLargestNumber] ? currentLargestNumber : previousLargestNumber;

Điều này cũng có thể được đọc là

if [currentLargestNumber > previousLargestNumber == true] {
return currentLargestNumber;
} else {
return previousLargestNumber;
}

Đây là giải pháp của tôi, với các nhận xét được nhúng

Và đây là không có bình luận

Cách tiếp cận #3. Trả về các số lớn nhất trong một mảng với các hàm tích hợp — với map[] và apply[]

Đối với giải pháp này, bạn sẽ sử dụng hai phương pháp. mảng. nguyên mẫu. phương thức map[] và Hàm. nguyên mẫu. phương pháp áp dụng []

  • Phương thức apply[] gọi một hàm với giá trị this đã cho và các đối số được cung cấp dưới dạng một mảng [hoặc một đối tượng giống như mảng]

Bạn có thể truyền một mảng đối số cho một hàm bằng cách sử dụng phương thức apply[] và hàm sẽ thực thi các mục trong mảng

Các hàm như vậy được gọi là hàm biến đổi và chúng có thể chấp nhận bất kỳ số lượng đối số nào thay vì một đối số cố định

Toán học. hàm max[] trả về số lớn nhất trong số 0 hoặc nhiều số hơn và chúng ta có thể chuyển bất kỳ số lượng đối số nào

console.log[Math.max[4,5,1,3]]; // logs 5

Nhưng bạn không thể truyền một dãy số cho phương thức như thế này​

var num = [4,5,1,3];
console.log[Math.max[num]]; // logs NaN

Đây là nơi phương thức apply[] trở nên hữu ích

var num = [4,5,1,3];
console.log[Math.max.apply[null, num]]; // logs 5

Lưu ý rằng đối số đầu tiên áp dụng [] đặt giá trị của 'cái này', không được sử dụng trong phương thức này, vì vậy bạn chuyển null

Bây giờ bạn đã có một phương thức để trả về số lớn nhất trong một mảng, bạn có thể lặp qua từng mảng con bằng phương thức map[] và trả về tất cả các số lớn nhất

Đây là giải pháp của tôi, với các nhận xét được nhúng

Và không có bình luận

Tôi hy vọng bạn tìm thấy điều này hữu ích. Đây là một phần trong loạt bài viết “Cách giải quyết các thuật toán FCC” của tôi về Các thách thức về thuật toán của Free Code Camp, nơi tôi đề xuất một số giải pháp và giải thích từng bước những gì xảy ra bên trong.

Ba cách để lặp lại một chuỗi trong JavaScript

Trong bài viết này, tôi sẽ giải thích cách giải quyết thử thách “Lặp lại một chuỗi lặp lại một chuỗi” của freeCodeCamp. Điều này liên quan đến…

vừa phải. freecodecamp. com

Hai cách để xác nhận kết thúc của Chuỗi trong JavaScript

Trong bài viết này, tôi sẽ giải thích cách giải quyết thử thách “Xác nhận kết thúc” của freeCodeCamp

vừa phải. freecodecamp. com

Ba cách để đảo ngược một chuỗi trong JavaScript

Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Reverse a String”

vừa phải. freecodecamp. com

Ba cách để thừa số hóa một số trong JavaScript

Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Factorialize a Number”

vừa phải. freecodecamp. com

Hai cách để kiểm tra Palindromes trong JavaScript

Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Check for Palindromes”

vừa phải. freecodecamp. com

Ba cách để tìm từ dài nhất trong chuỗi trong JavaScript

Bài viết này dựa trên Kịch bản thuật toán cơ bản của Free Code Camp “Tìm từ dài nhất trong một chuỗi”

vừa phải. freecodecamp. com

Ba cách đặt tiêu đề cho một câu trong JavaScript

Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Tiêu đề trường hợp một câu”

vừa phải. freecodecamp. com

Nếu bạn có giải pháp của riêng mình hoặc bất kỳ đề xuất nào, hãy chia sẻ chúng bên dưới trong phần bình luận

Hoặc bạn có thể theo dõi tôi trên Medium, Twitter, Github và LinkedIn, ngay sau khi bạn nhấp vào trái tim màu xanh bên dưới ;-]

Làm cách nào để bạn có được số lượng lớn nhất trong JS?

Số JavaScript MAX_VALUE . Con số. MAX_VALUE có giá trị là 1. 7976931348623157e+308. MAX_VALUE returns the largest number possible in JavaScript. Number. MAX_VALUE has the value of 1.7976931348623157e+308.

Phần tử lớn nhất trong mảng là gì?

Ví dụ. Phần tử lớn nhất trong một mảng . the first two elements of array are checked and the largest of these two elements are placed in arr[0] the first and third elements are checked and largest of these two elements is placed in arr[0] .

Có chức năng tối đa trong JavaScript không?

Trong JavaScript, max[] là một hàm được sử dụng để trả về giá trị lớn nhất từ ​​các số được cung cấp dưới dạng tham số . Vì hàm max[] là một hàm tĩnh của đối tượng Math nên nó phải được gọi thông qua đối tượng giữ chỗ có tên là Math.

Chủ Đề