0
سبد خرید من 0 دوره
سبد خرید شما خالیست :(
پرسش

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

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