কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে অ্যারেকে র‍্যান্ডমলি শাফল (shuffle) করা


_.shuffle()

_.shuffle হল underscore.js-এর একটি ফাংশন, যা জাভাস্ক্রিপ্টের একটি ফ্রেমওয়ার্ক। এই ফাংশনটি ফিশার-ইয়েটস শাফল (Fisher-Yates shuffle) অ্যালগরিদম ব্যবহার করে এলিমেন্টগুলোকে র‍্যান্ডমলি শাফল করে।

সিনট্যাক্স

_.shuffle(array);

এই মেথডটি একটি অ্যারে প্যারামিটার হিসেবে নেয় এবং সেটি শাফল করে এলিমেন্টগুলোকে র‍্যান্ডম আকারে সাজায়। এটি ফিশার-ইয়েটস শাফল অ্যালগরিদম ব্যবহার করে। একই ইনপুটের জন্য এটি ভিন্ন ভিন্ন র‍্যান্ডম আউটপুট দেয়।

উদাহরণ

<html> <body> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> 
    document.write(_.shuffle(["raj", "pankaj", "rahim", "rachel", "Balakrishna"])) 
</script> </body> </html>

আউটপুট

rahim,Balakrishna,pankaj,raj,rachel


এটি বড় অবজেক্টগুলোকেও ফিশার-ইয়েটস শাফল অ্যালগরিদম ব্যবহার করে শাফল করতে পারে। একই ইনপুটের জন্য এটি বিভিন্ন আউটপুট দেয়।

উদাহরণ

<html> <body> <script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> 
    var people = [ 
        {"name": "Ram", "age": 27}, 
        {"name": "Rahim", "age": 28}, 
        {"name": "Rakul", "age": 29}, 
        {"name": "Rohti", "age": 21} 
    ] 
    document.write(JSON.stringify(_.shuffle(people, 'age'))); 
</script> </body> </html>

আউটপুট

[{"name":"Rahim","age":28},{"name":"Rakul","age":29},{"name":"Ram","age":27},{"name":"Rohti","age":21}]

  1. জাভাস্ক্রিপ্টে অ্যারে থেকে সেটে কনভার্ট করা

  2. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা

  3. জাভাস্ক্রিপ্ট - অ্যারে থেকে র‍্যান্ডম উপাদান বেছে নেওয়া

  4. জাভাস্ক্রিপ্টে অ্যারে বয়স অনুযায়ী সর্ট করা