پیشنهاد شگفت‌انگیز سبزلرن: 50% تخفیف برای دوره پروژه های تخصصی با جاوا اسکریپت برای بازار کار
مشاهده دوره
ثانیه
دقیقه
ساعت
روز
پرسش

چطور می‌تونیم یک آرایه رو در جاوااسکریپت به صورت تصادفی مرتب کنیم؟

How to randomize (shuffle) a JavaScript array?

من یک آرایه در جاوااسکریپت دارم و می‌خوام به صورت تصادفی عناصرش رو مرتب کنم. بهترین روش برای انجام این کار چیه؟ آیا الگوریتم خاصی برای این کار وجود داره که نتایج دقیق و تصادفی ارائه بده؟

1403/05/23
پاسخ
محمدامین سعیدی راد
بیوگرافی محمدامین سعیدی راد

اگر به دنبال یه روش سریع و کوتاه برای شافل کردن آرایه تو جاوااسکریپت هستی، می‌تونی از تابع sort همراه با Math.random استفاده کنی. این روش خیلی ساده و سرراسته، اما دقت و تصادفی بودنش مثل الگوریتم‌های پیچیده‌تر مثل Fisher-Yates نیست.

 

function shuffle(array) {
return array.sort(() => Math.random() - 0.5);
}
let arr = [1, 2, 3, 4, 5];
let shuffledArr = shuffle(arr);
console.log(shuffledArr);

این کد هر بار که sort رو با Math.random() صدا می‌زنی، عناصر آرایه رو به صورت تصادفی جابه‌جا می‌کنه. هرچند که این روش کاملاً تصادفی و مناسب برای کارهای ساده است ، ولی برای پروژه‌های جدی‌تر پیشنهاد می‌کنم از روش‌های دقیق‌تر مثل Fisher-Yates استفاده کنی.

پاسخ: 1403/05/23
آخرین آپدیت: 1403/07/07