Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Помогите разобраться с кодом функции (https://javascript.ru/forum/node-js-io-js/79729-pomogite-razobratsya-s-kodom-funkcii.html)

qTiger 15.03.2020 18:35

Помогите разобраться с кодом функции
 
const roll = ({ serverSeed, clientSeed, nonce }) => {
  const nonceClientSeed = `${clientSeed}-${nonce}`;

  const hex = createHmac('sha512', serverSeed)
    .update(nonceClientSeed)
    .digest('hex');

  let index = 0;

  let lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);

  while (lucky >= 1e6) {
    index += 1;
    lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);

    // we have reached the end of the hash and they all must have been ffffff
    if (index * 5 + 5 > 129) {
      lucky = 9999;
      break;
    }
  }

  return [lucky % 1e4] * 1e-2;
}

1.({ serverSeed, clientSeed, nonce }) что это такое и как передать значения, когда вызываешь функцию.
2. `${clientSeed}-${nonce}` - Клиент сид это число в шестнадцатеричной системе. Оно отнимает первое от второго?

рони 15.03.2020 19:04

Цитата:

Сообщение от qTiger
что это такое и как передать значения, когда вызываешь функцию.

Деструктурирующее присваивание
Цитата:

Сообщение от qTiger
Оно отнимает первое от второго?

Шаблонные строки.

voraa 15.03.2020 20:25

Цитата:

Сообщение от qTiger (Сообщение 521339)
1.({ serverSeed, clientSeed, nonce }) что это такое и как передать значения, когда вызываешь функцию.
2. `${clientSeed}-${nonce}` - Клиент сид это число в шестнадцатеричной системе. Оно отнимает первое от второго?

1. Вызывать
roll ({ serverSeed:value1, clientSeed:value2, nonce:value3 })

2 Это эквивалентно
String(clientSeed) + '-' + String(nonce)
Ничего не отнимается, формируется строка


Часовой пояс GMT +3, время: 23:36.