JavaScript में array elements को सही तरीके से कैसे shuffle (फेरबदल) करें?
सभी को नमस्कार! मैं JavaScript में नया हूँ और मुझे एक ऐसी समस्या का सामना करना पड़ा: array elements को random order में फेरबदल करना है। उदाहरण के लिए, मेरे पास गेम के लिए कार्ड्स का एक array है:\n\n```javascript\nconst cards = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'];\n```\n\nमैं चाहता हूँ कि फेरबदल के बाद elements का order random हो जाए। मैंने `Math.random()` को `sort()` के साथ इस्तेमाल करने की कोशिश की, इस तरह:\n\n```javascript\ncards.sort(() => Math.random() - 0.5);\n```\n\nयह काम करता हुआ लगता है, लेकिन मैंने पढ़ा कि यह गलत तरीका है, क्योंकि distribution uniform नहीं होगी। इसके अलावा, कुछ elements दूसरों की तुलना में अधिक बार अपनी जगह पर रह सकते हैं। कृपया बताएं कि pure JavaScript में Fisher-Yates shuffle (या कोई अन्य सही algorithm) को सही तरीके से कैसे implement करें? यह महत्वपूर्ण है कि फंक्शन मूल array को mutate करे और नया array return न करे।