Пример:
8ab8d751-64c8-4886-83c0-31b193b2534d-image.png
0597a0c5-bead-48a4-98b9-e583413a00af-image.png
cbccd51a-31f8-4f02-b869-b24a6ad7011e-image.png
Что может не нравиться BAS?
function sum(x){
var s = 0;
for (i = 0; i < x.length; i++){
s += parseInt(x[i].split(':')[0])
}
return s
}
var array = ['1:Вася', '2:Петя', '1:Коля', '3:Маша', '4:Миша']
function getRandomValue(arr) {
var total = sum(arr)
var rnd = Math.floor(Math.random() * total)+1
var str = '';
for (let i = 0; i < arr.length; i++) {
if((rnd -= arr[i].split(':')[0]) <= 0){
return arr[i]
};
}
return str
}
getRandomValue(array)
В начале было так я заменил все функции которые BAS не поддерживает
var arr = ['1:Вася', '1:Петя', '1:Коля', '3:Маша']
var getRandomValue = arr => {
let total = arr.reduce((acc, x) => +x.split(':')[0]+acc, 0)
let rnd = Math.floor(Math.random() * total)+1
return arr.find((x) => {
rnd -= x.split(':')[0]
return rnd <= 0
})
}
getRandomValue(arr)