module.exports = (items) => { // Сумма всех droprate в массиве let total = 0; // Цикл по всем предметам и добавление их droprate к общей сумме for (let item of items) { total += item.droprate; } // Случайное число от 0 до total let random = Math.random() * total; // Цикл по всем предметам и вычитание их droprate из random for (let item of items) { random -= item.droprate; // Если random стал отрицательным или равным нулю, значит этот предмет выпал if (random <= 0) { console.log(item.hit) return item; } } }