Минимальное число массива javascript

Как найти минимальный элемент массива js

Для нахождения минимального элемента в массиве предлагаю написать собственную функцию с использованием функции высшего порядка reduce и стандартного метода Math.min():

const numbers = [-94, 87, 12, 0, -67, 32]; const min = (values) => values.reduce((x, y) => Math.min(x, y)); console.log(min(numbers)); // => -94 

По факту в этой функции мы делаем обычную агрегацию. Берём попарно элементы массива и при каждой итерации находим из них минимальный.

Следующий вариант — использование стандартного метода Math.min():

const numbers = [-94, 87, 12, 0, -67, 32]; const minValue = Math.min.apply(null, numbers); console.log(minValue); // => -94 

В примере выше не забудьте про null, иначе в переменную minValue вернётся Infinity.

Также стоит вспомнить про библиотеку Lodash:

const numbers = [-94, 87, 12, 0, -67, 32]; console.log(_.min(numbers)); // => -94 

Источник

Найти максимальное / минимальное значение в массиве JavaScript

Найти максимальное / минимальное значение в массиве JavaScript

  1. Найдите минимальное значение массива с помощью функции Math.min() в JavaScript
  2. Найдите максимальное значение массива с помощью функции Math.max() в JavaScript
Читайте также:  Css не растягивать изображение фона

В этом руководстве будет обсуждаться, как найти минимальное и максимальное значение массива с помощью функций Math.min() и Math.max() в JavaScript.

Найдите минимальное значение массива с помощью функции Math.min() в JavaScript

Чтобы найти минимальное значение, присутствующее в данном массиве, мы можем использовать функцию Math.min() в JavaScript. Эта функция возвращает минимальное значение, присутствующее в данном массиве. Например, давайте определим массив с некоторыми случайными значениями и найдем его минимальное значение с помощью функции Math.min() и выведем его на консоль с помощью функции console.log() . См. Код ниже.

var myArray = [1, 5, 6, 2, 3]; var m = Math.min(. myArray); console.log(m) 

Как видно из вывода, минимальное значение массива возвращается функцией Math.min() . Некоторые браузеры могут не поддерживать вышеуказанный метод, поэтому вы можете использовать функцию apply() вместе с функцией Math.min() , чтобы получить минимальное значение из заданного массива. Например, см. Приведенный ниже код.

var myArray = [1, 5, 6, 2, 3]; var m = Math.min.apply(null, myArray); console.log(m) 

Функция apply() вызывает функцию с заданным значением this и заданным массивом в приведенном выше коде. Если вы не хотите использовать какую-либо предопределенную функцию, вы можете создать свою собственную функцию, используя цикл в JavaScript. Например, давайте создадим функцию для поиска минимального значения массива. См. Код ниже.

function MyMin(myarr)  var al = myarr.length;  minimum = myarr[al-1];  while (al--)  if(myarr[al]  minimum)  minimum = myarr[al]  >  >  return minimum; >; var myArray = [1, 5, 6, 2, 3]; var m = MyMin(myArray); console.log(m) 

В приведенном выше коде мы сохранили последний элемент данного массива в переменной minimum и сравнили его с предыдущим элементом. Если элемент меньше переменной minimum , мы сохраним этот элемент в переменной minimum . А если нет, то перейдем к следующему элементу. Мы будем повторять эту процедуру до тех пор, пока не дойдем до индекса 0. После цикла мы вернем переменную minimum .

Найдите максимальное значение массива с помощью функции Math.max() в JavaScript

Чтобы найти максимальное значение, присутствующее в данном массиве, мы можем использовать функцию Math.max() в JavaScript. Эта функция возвращает максимальное значение, присутствующее в данном массиве. См. Код ниже.

var myArray = [1, 5, 6, 2, 3]; var m = Math.max(. myArray); console.log(m) 

Вы также можете использовать функцию apply() вместе с функцией Math.max() , чтобы получить максимальное значение из заданного массива. Например, см. Приведенный ниже код.

var myArray = [1, 5, 6, 2, 3]; var m = Math.max.apply(null, myArray); console.log(m) 

Создадим функцию, чтобы найти максимальное значение массива. См. Код ниже.

function MyMax(myarr)  var al = myarr.length;  maximum = myarr[al-1];  while (al--)  if(myarr[al] > maximum)  maximum = myarr[al]  >  >  return maximum; >; var myArray = [1, 5, 6, 2, 3]; var m = MyMax(myArray); console.log(m) 

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

Сопутствующая статья — JavaScript Array

Copyright © 2023. All right reserved

Источник

JavaScript: Get Min and Max Element of Array

When working with JavaScript, we oftentimes encounter situations that require us to obtain the minimum and maximum elements of an array — be it for setting boundaries for a slider or displaying the statistics to a user.

In this article, we’ll take a look at how to get the minimum and the maximum element of an array in JavaScript. We’ll also look at four different methods and compare their speeds when dealing with large arrays.

How to Get Min and Max Elements of an Array Using the Math Object

Math is JavaScript’s built-in global convenience object containing a lot of methods and constants you might need when performing mathematical operations. Two methods that we’ll use in this article are Math.min() and Math.max() — both of them accept a list of numbers as arguments. As their names suggest, one returns the element with the lowest value, and the other returns one whose value is the highest:

console.log(Math.min(20, 23, 27)); // 20 console.log(Math.max(20, 23, 27)); // 27 console.log(Math.min(-20, -23, -27)); // -27 console.log(Math.max(-20, -23, -27)); // -20 

If at least one of the passed elements is not a number or cannot be converted to a number, both Math.min() and Math.max() returns NaN :

console.log(Math.min('-20', -23, -27)); // -27 console.log(Math.max('number', -23, -27)); // NaN 

Similarly, if we try to pass an array as an argument of the Math.min() function, we get a NaN , since it’s treated as a single element, which can’t be converted to a scalar value:

const myArray = [2, 3, 1]; console.log(Math.min(myArray)); // NaN 

However, a quick fix for this is to use the spread operator to unwrap the elements:

const myArray = [2, 3, 1]; console.log(Math.min(. myArray)); // 1 

If you’d like to read more about the Spread Operator — read our Guide to the Spread Operator in JavaScript!

Get Max and Min Element with reduce()

Reduction operations, sometimes known as folding, are some of the most powerful operations from functional programming, with a wide variety of applications. The reduce() function, runs a reducer function (defined in a callback) on each array element and returns a single value in the end.

It’s worth covering the method due to how universally it can be applied:

const myArray = [20, 23, 27]; let minElement = myArray.reduce((a, b) => < return Math.min(a, b); >); console.log(minElement); // 20 

Find Min and Max Element with apply()

The apply() method is used to invoke a function with a given this value and an array of arguments. This makes it possible for us to enter arrays into the Math.min() static function:

const myArray = [20, 23, 27]; let minElement = Math.min.apply(Math, myArray); console.log(minElement); // 20 // Or let minElement = Math.min.apply(null, myArray); console.log(minElement); // 20 

Getting Min and Max Elements With Standard Loops — Fastest Performance

Loops are used in JavaScript to perform repeated tasks based on a condition. Conditions return true or false . A loop will continue running until the defined condition returns false . In our case, we will be making use of the for loop — it is commonly used to run code a number of times.

Get Minimum Element

First, we’ll initialize the minimum element to the first element of an array. Then, we loop through the entire array to see if the value of any other element is less than the current minimum value — if it is, we’ll set the new minimum value to the value of the current element:

const myArray = [20, 23, 27]; let minElement = myArray[0]; for (let i = 1; i < arrayLength; ++i) < if (myArray[i] < minElement) < minElement = myArray[i]; >> console.log(minElement); // 20 

Get Maximum Element

We’ll first initialize the maximum element to the first element in the array. Then we will loop through the entire array to see if any other element is greater than the initialized element, so it replaces it:

const myArray = [20, 23, 27]; let maxElement = myArray[0]; for (let i = 1; i < arrayLength; ++i) < if (myArray[i] > maxElement) < maxElement = myArray[i]; >> console.log(maxElement); // 27 

Performance Benchmark

Using JS Benchmark — we’ve run all of these approaches on varying input, from 100 to 1000000 elements in the array. The performance is relative, and depends on the length of the array.

Free eBook: Git Essentials

Check out our hands-on, practical guide to learning Git, with best-practices, industry-accepted standards, and included cheat sheet. Stop Googling Git commands and actually learn it!

  • For small arrays (100), the reduce() method performed the best, followed by standard loops, the spread operator and then the apply() method. The runner ups are almost equal in performance.
  • For medium arrays (1000), the standard loops perform the best, followed by reduce() , the spread operator and the apply() method. Standard loops significantly faster than reduce() here, which in turn, is fairly faster than the runner ups.
  • For really large arrays (1000000), the standard loops outperform all other methods to such a large degree that the case for standard loops is very strong.

Standard loops scale really well, and only lose out to the competition when applied to small arrays. If you’re dealing with a few items, or smaller arrays, all of the methods will be fairly seamless. The larger the array, the bigger the benefit of using standard loops.

Note: Don’t take benchmarks at face value! They’re run on different machines, with likely different browser versions and JS engines. Test these out in your application and choose the scalable, fastest option for your own use case.

Conclusion

In this guide, we’ve taken a look at how to get the minimum and maximum elements of an array in JavaScript. We’ve taken a look at the Math.min() and Math.max() methods, the spread operator, the reduce() method, the apply() method and wrote a custom approach to getting the elements through a for loop.

Finally, we’ve benchmarked the results, noting that it doesn’t really matter which approach you use for small arrays, while you should tend to use standard for loops for larger arrays.

Источник

Поиск минимального элемента массива

Поиск минимального элемента массива

Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы научились создавать собственные объекты в Javascript. В данной статье я бы хотел рассмотреть различные варианты поиска минимального элемента массива на примере языка Javascript. Пусть у нас массив состоит только из чисел типа данных «Number».

Рассмотрим 4 варианта получения минимального элемента массива:

1 вариант — это просто сравнить все значения в цикле:

var a = [1,61,2,67,-30,12,-77,100,126,-102,6]; var a_min = a[0]; for (i = 1; i < a.length; i++) < if (a[i] > alert("Минимальное значение = " + a_min);

Здесь всё просто: вначале мы предполагаем, что минимальный элемент — это нулевой элемент массива. Далее, каждый следующий элемент массива сравниваем с минимальным, и если он меньше, то присваиваем минимальному элементу этот элемент массива.

2 вариант — отсортировать элементы в порядке возрастания и взять нулевой элемент массива:

var a = [1,61,2,67,-30,12,-77,100,126,-102,6]; var b = a.sort(mySort); alert(b[0]); // выйдет число -102 function mySort(a,b) < if (a < b) return -1; if (a == b) return 0; if (a >b) return 1; >

В данном случае мы просто вызываем метод «sort()» у исходного массива. Здесь в качестве аргумента передаём функцию пользовательской сортировки «mySort()». В данном конкретном случае можно и не писать эту функцию, метод sort() итак отработает корректно, но сложность может возникнуть, если передать в массив число в виде строки. Добавьте в массив число «-2016» и посмотрите, что получится в итоге (с использованием функции «mysort()» и без неё).

3 способ (условно) — использование метода «shift()». В принципе, это тоже самое, что и выше, только вместо «b[0]» мы используем «shift()»:

var a = [1,61,2,67,-30,12,-77,100,126,-102,6]; alert(a.sort(mySort).shift());

4 способ — использование метода «Math.min()». Особенностью языка Javascript является то, что мы можем вызвать любую функцию в контексте любого объекта. Это можно сделать с помощью метода «apply()»:

var a = [1,61,2,67,-30,12,-77,100,126,-102,6]; alert(Math.min.apply(Array, a));

В данном случае мы вызываем функцию «min()» в контексте «Array», и вторым параметром передаём наш массив.

В качестве домашнего задания: на основе данных примеров найдите максимальный элемент массива.

В данной статье вы узнали, как найти минимальный элемент в массиве.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.

Источник

Оцените статью