Hướng dẫn how do you find the largest number in an array javascript? - làm thế nào để bạn tìm thấy số lớn nhất trong một mảng javascript?

Chỉ một dòng :)

var array = [3 , 6, 2, 56, 32, 5, 89, 32],
    largest = array.sort((a,b)=>a-b).reverse()[0];

hoặc thậm chí tốt hơn

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];

Cập nhật, tất cả mã ở trên đều tệ khi bạn thêm ví dụ 9 trong bản đoán của tôi vì theo các số mặc định được coi là chuỗi giống nhau, có phiên bản tốt hơn

var array = [3 , 6, 2, 56, 32, 5, 89, 32, 9], largest;
array.sort(function(a, b) {
   largest = a > b ? a: b;
});

Mặc dù trong hiệu suất Wise

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
7 Loop được đề xuất trong các bình luận là tốt hơn http://jsperf.com/array-sorting-javascript

Upd2, okay, mã ở trên có một số phần xấu trong đó, vì vậy sẽ không hoạt động như mong đợi. Một lần thử khác:

array.sort(function(a, b) {
  return a - b;
});
largest = array[array.length - 1];

Hướng dẫn how do you find the largest number in an array javascript? - làm thế nào để bạn tìm thấy số lớn nhất trong một mảng javascript?

In nhỏ và lớn ..

Có ba cách tiếp cận mà tôi bao gồm:

  1. với một vòng lặp cho
  2. Sử dụng phương thức giảm ()
  3. sử dụng math.max ()

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

Trả về một mảng bao gồm số lớn nhất từ ​​mỗi mép 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 lại thông qua một mảng với một vòng lặp đơn giản và truy cập từng thành viên với Array Syntax Arr [i].

function largestOfFour(arr) {
  return arr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

Cung cấp các trường hợp thử nghiệm

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].

Cách tiếp cận số 1: Trả về các số lớn nhất trong một mảng có vòng lặp cho vòng lặp

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


function largestOfFour(arr) {
   // Step 1. Create an array that will host the result of the 4 sub-arrays
   var largestNumber = [0,0,0,0];
 
   // Step 2. Create the first FOR loop that will iterate through the arrays
   for(var arrayIndex = 0; arrayIndex < arr.length; arrayIndex++) {
   /* The starting point, index 0, corresponds to the first array */
 
    // Step 3. Create the second FOR loop that will iterate through the sub-arrays
    for(var subArrayIndex = 0; subArrayIndex < arr[arrayIndex].length; subArrayIndex++) {
    /* The starting point, index 0, corresponds to the first sub-array */
       
       if(arr[arrayIndex][subArrayIndex] > largestNumber[arrayIndex]) {
          
          largestNumber[arrayIndex] = arr[arrayIndex][subArrayIndex];
          
       /* FOR loop cycles
          arrayIndex => i
          subArrayIndex => j
          
       Iteration in the first array
          For each iteration: arr[i][j]           largestNumber[i]          if arr[i][j] > largestNumber[i]?     then largestNumber[i] = arr[i][j]
          First iteration:    arr[0][0] => 4      largestNumber[0] => 0     4 > 0? => TRUE                       then largestNumber[0] = 4
          Second iteration:   arr[0][1] => 5      largestNumber[0] => 4     5 > 4? => TRUE                       then largestNumber[0] = 5
          Third iteration:    arr[0][2] => 1      largestNumber[0] => 5     1 > 5? => FALSE                      then largestNumber[0] = 5
          Fourth iteration:   arr[0][3] => 3      largestNumber[0] => 5     3 > 5? => FALSE                      then largestNumber[0] = 5
          Fifth iteration:    arr[0][4] => FALSE  largestNumber[0] => 5                                          largestNumber = [5,0,0,0]
       Exit the first array and continue on the second one
       Iteration in the second array
          For each iteration: arr[i][j]            largestNumber[i]           if arr[i][j] > largestNumber[i]?     then largestNumber[i] = arr[i][j]
          First iteration:    arr[1][0] => 13      largestNumber[1] => 0      13 > 0? => TRUE                      then largestNumber[1] = 13
          Second iteration:   arr[1][1] => 27      largestNumber[1] => 13     27 > 13? => TRUE                     then largestNumber[1] = 27
          Third iteration:    arr[1][2] => 18      largestNumber[1] => 27     18 > 27? => FALSE                    then largestNumber[1] = 27
          Fourth iteration:   arr[1][3] => 26      largestNumber[1] => 27     26 > 27? => FALSE                    then largestNumber[1] = 27
          Fifth iteration:    arr[1][4] => FALSE   largestNumber[1] => 27                                          largestNumber = [5,27,0,0]
       Exit the first array and continue on the third one
       Iteration in the third array
          For each iteration: arr[i][j]            largestNumber[i]           if arr[i][j] > largestNumber[i]?     then largestNumber[i] = arr[i][j]
          First iteration:    arr[2][0] => 32      largestNumber[2] => 0      32 > 0? => TRUE                      then largestNumber[2] = 32
          Second iteration:   arr[2][1] => 35      largestNumber[2] => 32     35 > 32? => TRUE                     then largestNumber[2] = 35
          Third iteration:    arr[2][2] => 37      largestNumber[2] => 35     37 > 35? => TRUE                     then largestNumber[2] = 37
          Fourth iteration:   arr[2][3] => 39      largestNumber[2] => 37     39 > 37? => TRUE                     then largestNumber[2] = 39
          Fifth iteration:    arr[2][4] => FALSE   largestNumber[2] => 39                                          largestNumber = [5,27,39,0]
       Exit the first array and continue on the fourth one
       Iteration in the fourth array
          For each iteration: arr[i][j]            largestNumber[i]           if arr[i][j] > largestNumber[i]?     then largestNumber[i] = arr[i][j]
          First iteration:    arr[3][0] => 1000    largestNumber[3] => 0      1000 > 0? => TRUE                    then largestNumber[3] = 1000
          Second iteration:   arr[3][1] => 1001    largestNumber[3] => 1000   1001 > 1000? => TRUE                 then largestNumber[3] = 1001
          Third iteration:    arr[3][2] => 857     largestNumber[3] => 1001   857 > 1001? => FALSE                 then largestNumber[3] = 1001
          Fourth iteration:   arr[3][3] => 1       largestNumber[3] => 1001   1 > 1001? => FALSE                   then largestNumber[3] = 1001
          Fifth iteration:    arr[3][4] => FALSE   largestNumber[3] => 1001                                        largestNumber = [5,27,39,1001]
       Exit the FOR loop */
        }
    }
 }
 // Step 4. Return the largest numbers of each sub-arrays
 return largestNumber; // largestNumber = [5,27,39,1001];
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

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


function largestOfFour(arr) {
   var largestNumber = [0,0,0,0];
   for(var arrayIndex = 0; arrayIndex < arr.length; arrayIndex++) {
    for(var subArrayIndex = 0; subArrayIndex < arr[arrayIndex].length; subArrayIndex++) {
       if(arr[arrayIndex][subArrayIndex] > largestNumber[arrayIndex]) {         
          largestNumber[arrayIndex] = arr[arrayIndex][subArrayIndex];
        }
    }
 }
 return largestNumber;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

Cách tiếp cận #2: Trả về các số lớn nhất trong một mảng có hàm tích hợp-với bản đồ () và giảm ()

Đối với giải pháp này, bạn sẽ sử dụng hai phương thức: phương thức mảng.prototype.map () và phương thức mảng.prototype.Reduce ().

  • Phương thức Bản đồ () tạo ra một mảng mới với kết quả gọi hàm được cung cấp trên mọi yếu tố trong mảng này. Sử dụng MAP sẽ gọi chức năng gọi lại được cung cấp một lần cho mỗi phần tử trong một mảng, theo thứ tự và xây dựng một mảng mới từ kết quả.map() method creates a new array with the results of calling a provided function on every element in this array. Using map will call a provided callback function once for each element in an array, in order, and constructs a new array from the results.
  • Phương thức giảm () áp dụng hàm đối với bộ tích lũy và từng giá trị của mảng để giảm nó thành một giá trị duy nhất.reduce() method applies a function against an accumulator and each value of the array to reduce it to a single value.

Toán tử ternary là toán tử JavaScript duy nhất có ba toán hạng. Toán tử này được sử dụng làm lối tắt cho câu lệnh IF.ternary operator is the only JavaScript operator that takes three operands. This operator is used as a shortcut for the if statement.

(currentLargestNumber > previousLargestNumber) ? currentLargestNumber : previousLargestNumber;

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

if (currentLargestNumber > previousLargestNumber == true) {
    return currentLargestNumber;
} else {
    return previousLargestNumber;
}

Ở đây, giải pháp của tôi, với các bình luận nhúng:

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
0

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

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
1

Cách tiếp cận #3: Trả về các số lớn nhất trong một mảng có hàm tích hợp-với map () và Ứng dụng ()

Đối với giải pháp này, bạn sẽ sử dụng hai phương thức: phương thức mảng.prototype.map () và phương thức function.prototype.apply ().

  • Phương thức application () gọi một hàm có giá trị này và các đối số được cung cấp dưới dạng mảng (hoặc một đối tượng giống như mảng).apply() method calls a function with a given this value and arguments provided as an array (or an array-like object).

Bạn có thể chuyển một mảng các đối số cho một hàm bằng cách sử dụng phương thức application () và hàm sẽ thực thi các mục trong mảng.apply() method and the function will execute the items in the array.

Các chức năng như vậy được gọi là các hàm variadic 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.variadic functions, and they can accept any number of arguments instead of a fixed one.

Hàm Math.Max ​​() trả về số không hoặc nhiều số lớn nhất và chúng ta có thể vượt qua bất kỳ số lượng đối số nào.Math.max() function returns the largest of zero or more numbers, and we can pass any number of arguments.

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
2

Nhưng bạn có thể vượt qua một loạt các số cho phương thức như thế này:

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
3

Đây là nơi phương thức Ứng dụng () hóa ra là hữu ích:apply() method turns out to be useful:

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
4

Lưu ý rằng đối số đầu tiên áp dụng () đặt giá trị của ’này, không được sử dụng trong phương thức này, vì vậy bạn vượt qua null.apply() sets the value of ‘this’, not used in this method, so you pass 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 bản đồ () và trả về tất cả các số lớn nhất.map() method and return all largest numbers.

Ở đây, giải pháp của tôi, với các bình luận nhúng:

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
5

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

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
6

Cách tiếp cận #3: Trả về các số lớn nhất trong một mảng có hàm tích hợp-với map () và Ứng dụng ()

Đối với giải pháp này, bạn sẽ sử dụng hai phương thức: phương thức mảng.prototype.map () và phương thức function.prototype.apply ().
In this article, I’ll explain how to solve freeCodeCamp’s “Repeat a string repeat a string” challenge. This involves…

Phương thức application () gọi một hàm có giá trị này và các đối số được cung cấp dưới dạng mảng (hoặc một đối tượng giống như mảng).
In this article, I’ll explain how to solve freeCodeCamp’s “Confirm the Ending” challenge.

Bạn có thể chuyển một mảng các đối số cho một hàm bằng cách sử dụng phương thức application () và hàm sẽ thực thi các mục trong mảng.
This article is based on Free Code Camp Basic Algorithm Scripting “Reverse a String”

Các chức năng như vậy được gọi là các hàm variadic 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.
This article is based on Free Code Camp Basic Algorithm Scripting “Factorialize a Number”

Hàm Math.Max ​​() trả về số không hoặc nhiều số lớn nhất và chúng ta có thể vượt qua bất kỳ số lượng đối số nào.
This article is based on Free Code Camp Basic Algorithm Scripting “Check for Palindromes”.

...
    largest = array.sort((a,b)=>a-b)[array.length - 1];
2
This article is based on Free Code Camp Basic Algorithm Scripting “Find the Longest Word in a String”.

Nhưng bạn có thể vượt qua một loạt các số cho phương thức như thế này:
This article is based on Free Code Camp Basic Algorithm Scripting “Title Case a Sentence”.

Đây là nơi phương thức Ứng dụng () hóa ra là hữu ích:

Lưu ý rằng đối số đầu tiên áp dụng () đặt giá trị của ’này, không được sử dụng trong phương thức này, vì vậy bạn vượt qua null.Medium, Twitter, Github and LinkedIn, right after you click the green heart below ;-)

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 bản đồ () và trả về tất cả các số lớn nhất.

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ủa tôi Làm thế nào để giải quyết các bài viết của FCC Thuật toán trên thuật toán Camp miễn phí, trong đó 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 dưới mui xe.
  • Ba cách để lặp lại một chuỗi trong JavaScriptin Bài viết này, tôi sẽ giải thích cách giải quyết Freecodecamp, lặp lại một chuỗi lặp lại một thử thách chuỗi. Điều này liên quan đến
  • Hai cách để xác nhận kết thúc của một chuỗi trong JavaScriptin Bài viết này, tôi sẽ giải thích cách giải quyết FreeCodecamp, xác nhận thử thách kết thúc.
  • Ba cách để đảo ngược một chuỗi trong bài viết của JavaScriptthis dựa trên thuật toán cơ bản của Code Code miễn phí
  • Ba cách để nhân viên hóa một số trong bài viết của JavaScriptthis dựa trên thuật toán cơ bản của Code Camp miễn phí
  • Hai cách để kiểm tra palindromes trong bài viết của JavaScriptthis dựa trên thuật toán cơ bản của Code Camp miễn phí Kiểm tra palindromes.
  • Ba cách để tìm từ dài nhất trong một chuỗi trong bài viết của JavaScriptthis dựa trên tập lệnh thuật toán cơ bản Camp Camp miễn phí Tìm từ dài nhất trong một chuỗi.
  • Ba cách để tiêu đề trường hợp một câu trong bài viết của JavaScriptthis dựa trên thuật toán cơ bản Camp Camp miễn phí Trường hợp tiêu đề của một câu.


Nếu bạn có giải pháp riêng hoặc bất kỳ đề xuất nào, hãy chia sẻ chúng dưới đây trong các ý kiến.

Làm thế nào để bạn tìm thấy số lớn nhất trong một mảng mảng?

Để tìm ra phần tử lớn nhất, hai phần tử đầu tiên của mảng được kiểm tra và phần lớn nhất trong số hai yếu tố này được đặt trong ARR [0] các phần tử thứ nhất và thứ ba được kiểm tra và lớn nhất trong số hai yếu tố này được đặt trong ARR [0]. Quá trình này tiếp tục cho đến khi các yếu tố đầu tiên và cuối cùng được kiểm tra.

Làm thế nào để bạn tìm thấy số lớn nhất trong một thuật toán mảng?

Thuật toán để tìm các số nhỏ nhất và lớn nhất trong một mảng..
Nhập các phần tử mảng ..
Khởi tạo nhỏ = lớn = mảng [0].
Lặp lại từ i = 2 đến n ..
if (mảng [i]> lớn).
lớn = mảng [i].
if (mảng [i]
nhỏ = mảng [i].
In nhỏ và lớn ..

Số lớn nhất trong lập trình mảng là gì?

ALGORITHM:..
Bước 1: Bắt đầu ..
Bước 2: Khởi tạo ARR [] = {25, 11, 7, 75, 56}.
Bước 3: length = sizeof (mảng)/sizeof (mảng [0]).
Bước 4: MAX = ARR [0].
Bước 5: Đặt I = 0.Lặp lại bước 6 và bước 7 i
Bước 6: if (mảng [i]> max) max = mảng [i].
Bước 7: I = i+1 ..
Bước 8: In "Phần tử lớn nhất trong mảng đã cho:" Gán tối đa ..

Làm thế nào để bạn tìm thấy số lượng cao nhất và thấp nhất trong JavaScript?

Để có được số cao nhất hoặc thấp nhất từ một mảng trong javascript, bạn có thể sử dụng các phương thức math.max () hoặc math.min () sau đó truyền các phần tử từ mảng sang các phương thức này bằng toán tử lây lan (...).use the Math. max() or the Math. min() methods then spread the elements from the array to these methods using the spread operator ( ... ).