как избежать вставки повторяющихся записей, когда генератор последовательности имеет первичный ключ в сущности

Math.random дает случайное число от 0 до 1.

Умножение этого значения на длину вашего массива даст вам число строго меньше длины вашего массива.

Вызов Math.floor на , который будет усекать десятичное число и дать вам случайное число в пределах вашего массива

var arr = [1, 2, 3, 4, 5];
//array length = 5;

var rand = Math.random();
//rand = 0.78;
rand *= arr.length; //(5)
//rand = 3.9
rand = Math.floor(rand);
//rand = 3

var arr = [1, 2, 3, 4, 5];
//array length = 5;

var rand = Math.random();
//rand = 0.9999;
rand *= arr.length; //(5)
//rand = 4.9995
rand = Math.floor(rand);
//rand = 4 - safely within the bounds of your array
0
задан Yachitha Sandaruwan 18 January 2019 в 06:13
поделиться