@sergeybaldej

Как выставить шанс функции Math.random?

Всем привет! Помогите пожалуйста решить проблему с выставлением шанса в функции Math.random с массивом ссылок.

<div id="#rec530783089">
  <a href="#"></a>
</div>

<script>

  const urls = [
    'https://wa.me/9171857450?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880735438?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880735439?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880735779?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9170997305?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9170997493?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880634879?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9170996154?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880728447?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880728627?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880728253?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880728326?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880728559?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880728625?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880690573?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880699941?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880706053?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9880706224?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9881757166?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9881757181?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9881757131?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9897925732?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9881755311?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9897925778?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9897949247?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9171816218?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9171817209?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    'https://wa.me/9897921756?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!',
    
  ];

  const randomUrl = urls[Math.floor(Math.random() * urls.length)];

  const linkElement = document.querySelector('#rec530783089 a');

  linkElement.href = randomUrl;
</script>
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
const phones = [
  { p: '9171857450', c: 1 },
  { p: '9880735438', c: 10 },
  { p: '9880735439', c: 100 },
  { p: '9880735779', c: 2 },
  { p: '9170997305', c: 2 },
  { p: '9170997493', c: 2 },
  { p: '9880634879', c: 5 },
  { p: '9170996154', c: 1 },
  { p: '9880728447', c: 1 },
];
const chancesTotal = phones.reduce((acc, { c }) => acc + c, 0);
const selected = Math.floor(Math.random() * chancesTotal);
let phone;
for (let i = 0, sum = 0; i < phones.length; i++) {
  sum += phones[i].c;
  if (selected < sum) {
    phone = phones[i].p;
    break;
  }
}
const randomUrl = `https://wa.me/${phone}?text=Привет!%20Пришлите%20мне%20цены%20на%20рыбку!`;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы