Зачем в toString и substring передаются аргументы?
function randStr() { return (Math.random() + 1).toString(36).substring(7); } |
function randStr() { return (Math.random() + 1).toString(36).substring(7); }
это функция для генерации ключа для списка в реакт.
К Math.random() прибавляется 1, а в toString и .substring прописываются аргументы. Для чего?
{list.map(item => <li key={randStr()}>{item}</li>)} |
{list.map(item => <li key={randStr()}>{item}</li>)}
прочитал на мозила девелопер
не пойму почему
var x = 6; console.log(x.toString(2)); // Выведет '110' |
var x = 6; console.log(x.toString(2)); // Выведет '110'
выведет 110
Дополнительно:
что вы делаете первое, читаете справку или постите сразу на форум?
в офдоках всё есть. читайте о Number.prototype.toString()
RTFM: Number.toString String.substring
- я это читал, но не пойму как она работает применительно к случайно сгенерированному числу
Math.random. если знаете, можете описать? отмечу решением - Adil1603, абсолютно точно так же, как и к любому другом у числу.
- Adil1603 а в чем сложность взять и посмотреть что именно там происходит-то? В целом логика очень простая - сгененировать строку со случайными символами. Можно в цикле 7 рез создать случайный символ и получить строку, а можно один раз сгенерировать случайное число, конвертировать его в строку в большей системе счисления из букв и цифр, обрезать её до 7 символов и получить такой же результат.
toString в аргументе принимает основание системы счисления, в которую переводится число, 6 в двочиной СС - 110.
substring в аргументе принимает индекс символа, до которого выбирается строка.
в вашей функции генерируется случайное число, переводится в 36 значную СС (10 чисел + 26 букв, по сути весь английский алфавт), потом берёт первые семь символов из получившейся строки
например, число 56565646499494 в переводе в 36 значную систему получается K1TWDFZJA, берём 7 первых символов и получаем K1TWDFZ - случайную строку, так как она получается из случайного числа
- спасибо вам большое за разъяснения, а не просто отсылку к документации, из которой новичку тяжело понять что-то. спасибо!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
В методе `toString()` и функции `substring()` аргументы передаются для определения поведения метода или функции.
В случае метода `toString()`, аргументы могут использоваться для форматирования результата преобразования объекта в строку. Например, если у нас есть класс с определенными свойствами, мы можем передать аргументы в метод `toString()` для указания способа форматирования этих свойств перед преобразованием в строку.
В случае функции `substring()`, аргументы используются для указания диапазона символов, которые нужно извлечь из строки. Первый аргумент обычно указывает начальную позицию символа, с которого начинается извлечение, а второй аргумент указывает количество символов, которые нужно извлечь.
Таким образом, передача аргументов в метод `toString()` и функцию `substring()` позволяет программисту более гибко управлять поведением этих методов и функций, делая их более универсальными и применимыми в различных сценариях использования.