Показать сообщение отдельно
  #3 (permalink)  
Старый Вчера, 09:00
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,235

В первом варианте у меня выпадало чаще...

const arr = [
	['a', 'b', 1, 2, 3],
	[['a', 'b'], 1, 2, 3]
];
const n = 1000000
let t = performance.now()
arr.forEach((a, i) => {
	console.log('Вариант %s.', i + 1)
	let cnt = 0
	for (let i = 0; i < n; i++){
		let v = rnd(a)
		if (Array.isArray(v)) v = rnd(v)
		if (v === 'a') cnt++
	}
	const p = 100 / n * cnt
	console.log('Вероятность %s% ', p)
})
t = Math.floor(performance.now() - t)
console.log('Время затрачено %sмлс', t)
//
function rnd(a){
	if (!a.length) return null
	const i = Math.floor(Math.random() * a.length)
	return a[i]
}
Ответить с цитированием