Зачем в toString и substring передаются аргументы?

Ссылка скопирована
1 ответ
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 - случайную строку, так как она получается из случайного числа

    • спасибо вам большое за разъяснения, а не просто отсылку к документации, из которой новичку тяжело понять что-то. спасибо!
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Ольга Сеть Ответ

    В методе `toString()` и функции `substring()` аргументы передаются для определения поведения метода или функции.

    В случае метода `toString()`, аргументы могут использоваться для форматирования результата преобразования объекта в строку. Например, если у нас есть класс с определенными свойствами, мы можем передать аргументы в метод `toString()` для указания способа форматирования этих свойств перед преобразованием в строку.

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

    Таким образом, передача аргументов в метод `toString()` и функцию `substring()` позволяет программисту более гибко управлять поведением этих методов и функций, делая их более универсальными и применимыми в различных сценариях использования.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно