ChatGPT на русском языке, бесплатноНовости и обновления в Telegram
На sponsr есть решения ваших задач
Полезные видео о фронтенде. Подпишись на Rutube
Как создать рандомное целое число в JavaScript
2 года назад·1 мин. на чтение
Часто требуется создать случайное число в JavaScript. В этой статье напишем простую функцию, которая выводит рандомное число из заданного диапазона.
Эта функция выводит рандомное целое число из диапазона. Первое число диапазона включается, конечное - не включается.
Например, если требуется получить рандомное число 1,2,3,...100, то вызов будет выглядеть таким образом:
min
и max
- целые числа.
// [min, max) const getRandomInt = (min, max) => { return Math.floor(Math.random() * (max - min) + min); };
console.log(getRandomInt(1, 101)) // 5, 31, 17, 89, ...
12 полезных советов и трюков с JavaScript массивами
год назад·4 мин. на чтение
Массив является одним из самых распространенных структур в JavaScript, который дает нам много возможностей для работы с данными.
Принимая во внимание, что массив является одной из основных тем в JavaScript, о которой вы узнаете в начале своего пути программирования, в этой статье рассмотрим несколько трюков, о которых вы, возможно, не знаете и которые могут быть очень полезны в разработке.
3. Как трансформировать JavaScript массив не используя
Вероятно, все знают метод массивов
1. Как удалить дубликаты из JavaScript массива?
Это очень популярный вопрос интервью о массивах JavaScript, о том, как извлечь уникальные значения из массива JavaScript. Вот быстрое и простое решение этой проблемы, вы можете использоватьnew Set()
для этой цели. Рассмотрим два способа сделать это, один с помощью метода .from()
, а второй с оператором spread (...
).
Еще несколько способов удаления дубликатов из JavaScript массива описаны в статье "Как удалить повторяющиеся элементы массива в JavaScript?"const fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"]; // Первый способ const uniqueFruits = Array.from(new Set(fruits)); console.log(uniqueFruits); // возвращает ["banana", "apple", "orange", "watermelon", "grape"] // Второй способ const uniqueFruits2 = […new Set(fruits)]; console.log(uniqueFruits2); // возвращает ["banana", "apple", "orange", "watermelon", "grape"]
2. Как заменить определенное значение в JavaScript массиве?
Иногда при написании кода необходимо заменить определенное значение в массиве, и для этого есть хороший короткий метод, о котором вы, возможно, еще не знаете. Для этого мы можем использовать.splice(start, value to remove, valueToAdd)
и передать туда все три параметра, указывающие, где мы хотим начать модификацию, сколько значений мы хотим изменить, и новые значения.
const fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"]; fruits.splice(0, 2, "potato", "tomato"); console.log(fruits); // возвращает ["potato", "tomato", "orange", "watermelon", "apple", "orange", "grape", "apple"]
3. Как трансформировать JavaScript массив не используя .map()
?
Вероятно, все знают метод массивов .map()
, но есть другое решение, которое может быть использовано для получения аналогичного эффекта и очень чистого кода. Для этой цели мы можем использовать метод .from()
.
const friends = [ { name: "John", age: 22 }, { name: "Peter", age: 23 }, { name: "Mark", age: 24 }, { name: "Maria", age: 22 }, { name: "Monica", age: 21 }, { name: "Martha", age: 19 }, ] const friendsNames = Array.from(friends, ({name}) => name); console.log(friendsNames); // возвращает ["John", "Peter", "Mark", "Maria", "Monica", "Martha"]
4. Как очистите JavaScript массив?
Что делать если по каким-то причинам нужно очистить массив, но не хочется удалять элементы по одному? Это очень просто сделать одной строкой кода. Чтобы очистить массив, вам нужно установить длину массива равным0
, и все.
const fruits = ["banana", "apple", "orange", "watermelon", "apple", "orange", "grape", "apple"]; fruits.length = 0; console.log(fruits); // возвращает []
5. Как в JavaScript преобразовать массив в объект?
Бывает, что у нас есть массив, но для какой-то цели нам нужен объект с этими данными, и самый быстрый способ преобразовать массив в объект — использовать известный оператор spread (...
).
const fruits = ["banana", "apple", "orange", "watermelon"]; const fruitsObj = { ...fruits }; console.log(fruitsObj); // возвращает { 0: "banana", 1: "apple", 2: "orange", 3: "watermelon", 4: "apple", 5: "orange", 6: "grape", 7: "apple" }
6. Как заполнить данными массив в JavaScript?
Бывают ситуации, когда мы создаем массив, и мы хотели бы заполнить его какими-то данными, или нам нужен массив с одинаковыми значениями, и в этом случае можно использовать метод.fill()
.
const newArray = new Array(10).fill("1"); console.log(newArray); // возвращает ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"]
7. Как объединить несколько массивов в JavaScript?
Знаете ли вы, как объединить массивы в один массив без использования метода.concat()
? Существует простой способ объединить любое количество массивов в один одной строкой кода. Как вы, наверное, уже поняли, оператор spread (...
) довольно полезен при работе с массивами и в данном случае он тоже применим.
const fruits = ["apple", "banana", "orange"]; const meat = ["beef", "fish"]; const vegetables = ["potato", "tomato", "cucumber"]; const food = [...fruits, ...meat, ...vegetables]; console.log(food); // ["apple", "banana", "orange", "beef", "fish", "potato", "tomato", "cucumber"]
8. Как удалить ложные значений из JavaScript массива?
Сначала определим ложные значения. В JavaScript ложными значениями являютсяfalse
, 0
, ""
, null
, NaN
, undefined
. Теперь мы можем узнать, как удалить такого рода значения из нашего массива. Для этого мы будем использовать метод .filter()
.
const mixedArr = [0, "blue", "", NaN, 9, true, undefined, "white", false]; const trueArr = mixedArr.filter(Boolean); console.log(trueArr); // возвращает ["blue", 9, true, "white"]
9. Как получить случайное значение из JavaScript массива?
Иногда нам нужно выбрать значение из массива случайным образом. Простой, быстрый и короткий способ - получить случайный индекс в соответствии с длиной массива. Давайте посмотрим код:const colors = ["blue", "white", "green", "navy", "pink", "purple", "orange", "yellow", "black", "brown"]; const randomColor = colors[(Math.floor(Math.random() * (colors.length)))]
10. Как реверсировать массив на JavaScript?
Когда нам нужно перевернуть наш массив, нет необходимости создавать его через сложные циклы и функции, есть простой метод массива, который делает все это за нас, и с одной строкой кода мы можем повернуть наш массив вспять. Давайте проверим:const colors = ["blue", "white", "green", "navy", "pink", "purple", "orange", "yellow", "black", "brown"]; const reversedColors = colors.reverse(); console.log(reversedColors); // возвращает ["brown", "black", "yellow", "orange", "purple", "pink", "navy", "green", "white", "blue"]
11. Как получить n-й с конца элемент массива в JavaScript?
В JavaScript есть интересный метод, позволяющий найти индекс последнего вхождения данного элемента. Например, если наш массив имеет повторяющиеся значения, мы можем найти позицию последнего его вхождения. Рассмотрим пример кода:const nums = [1, 5, 2, 6, 3, 5, 2, 3, 6, 5, 2, 7]; const lastIndex = nums.lastIndexOf(5); console.log(lastIndex); // возвращает 9
12. Как просуммировать все значения в JavaScript массиве?
Это еще одна популярная задача, которая очень часто возникает во время JavaScript собеседования. Здесь нет ничего сложного; ее можно решить с помощью метода.reduce
одной строкой кода. Давайте проверим код:
const nums = [1, 5, 2, 6]; const sum = nums.reduce((x, y) => x + y); console.log(sum); // возвращает 14