-
איך הדרך הפשוטה לערבב מערך קיים שיופיע שלא לפי הסדר?
אני יודע כמובן לקבל מספר יחיד רנדומלי, אבל אני מסתבך לעשות לולאה על המערך שיביא לי את הכל רק סדר אקראי -
הלינק ש@משחזר-מידע הוא לא הכי עדכני, יש מתודה מוכנה למין, ויש שמה תשובה לפי זה (עם שלוש הצבעות בלבד):
function shuffle(array) { array.sort(() => Math.random() - 0.5); } אני לא מבין למה צריך את ה -0.5 אשמח לשמוע הסבר ממי שהבין.
עריכה: ברור למה... כי לולי זו התוצאה היא תמיד מעל ה0 ממילא תמיד האיבר הראשון גדול יותר (זה פונקציה שמקבלת שני איברים ומחזירה מעל האפס למקרה של שהראשון גדול כמדומני ומתחת לאפס כשהפוך). אצלי תמיד עשיתי ככה Math.random() - Math.random() שזה בעצם פחות יעיל.
-
3/3