কম্পিউটার

জাভাস্ক্রিপ্টে রুবির প্রতিটি কনসের সমতুল্য


each_cons() - রুবি

each_cons() গণনাযোগ্য পদ্ধতি হল রুবিতে একটি অন্তর্নির্মিত পদ্ধতি যা প্রতিবার প্রতিটি উপাদান থেকে শুরু করে পরপর N উপাদানগুলির জন্য পুনরাবৃত্তি করে। যদি কোন ব্লক দেওয়া না হয়, এটি গণনাকারীকে ফেরত দেয়।

প্রত্যেক_কন্স() এর JS সমতুল্য

ধরুন আমাদের কাছে Number লিটারালের একটি অ্যারে রয়েছে (এই ক্ষেত্রে রুবির গণনার JS সমতুল্য), each_cons ফাংশনটি একটি অ্যারে ফাংশন বলে মনে করা হয় যা অ্যারের প্রতিটি উপাদানের জন্য কার্যকর করে এবং একটি সংখ্যা N (N <=অ্যারের দৈর্ঘ্য) হিসাবে গ্রহণ করে। শুধুমাত্র যুক্তি। এবং প্রতিটি উপাদান থেকে একে একে শুরু করে প্রতিটি সাবয়ারের সাথে N আকারের সাবয়ারের সহ একটি অ্যারে প্রদান করে৷

এর একটি উদাহরণ দিলে বিষয়গুলো একটু পরিষ্কার হবে।

ধরুন আমাদের এইরকম একটি অ্যারে আছে −

const arr =[1, 2, 3, 4, 5];console.log(arr.eachCons(2));

প্রতিটি কনসকে এই কলটি যা করে তা হল, এটি 2টি উপাদান সহ অ্যারের একটি বিন্যাস গঠন করে −

[[1, 2], [2, 3], [3, 4], [4, 5]]

লক্ষ্য করুন যে মূল অ্যারের প্রতিটি উপাদানের জন্য সাব্যারে তৈরি করা হয়েছে যতক্ষণ না আমরা তা করতে পারি।

N-এর মান 2-এর পরিবর্তে 3 হলে, ফলাফলটি −

-এর মতো দেখাত
[[1, 2, 3], [2, 3, 4], [3, 4, 5]]

আবার, অ্যারের প্রতিটি উপাদানের জন্য সাব্যারে তৈরি করা হয় যতক্ষণ না আমাদের অ্যারের মধ্যে যথেষ্ট উপাদান থাকে।

পন্থা

এই সমস্যাটি সমাধান করতে আমরা স্লাইডিং উইন্ডো অ্যালগরিদম ব্যবহার করব৷

যদিও আমরা আধুনিক ES6 ফাংশন ব্যবহার করে এটিকে দুটি লাইনে সমাধান করতে পারি, তবে পূর্বের পদ্ধতির তুলনায় পূর্বের পদ্ধতিটি খুবই কার্যকর।

প্রথমত, আমরা একটি while লুপ ব্যবহার করব যা 0 থেকে N সূচক পর্যন্ত আমাদের প্রাথমিক উইন্ডো তৈরি করে। তারপর. আমরা একটি লুপ ব্যবহার করব যা চলে যখন আমাদের উইন্ডোর শেষটি মূল অ্যারের দৈর্ঘ্যের চেয়ে কম থাকে৷

এই লুপটি আমাদের উইন্ডোর স্থায়িত্ব পরীক্ষা করে (অর্থাৎ, আমাদের উইন্ডোটির দৈর্ঘ্য N-এর সমান)। যদি উইন্ডোটি স্থিতিশীল থাকে, তাহলে আমরা উইন্ডোটি সন্নিবেশ করি (সেই সাবয়ারেটি ফলাফল অ্যারেতে), এটিকে ইউনিট দূরত্ব দ্বারা ডানদিকে স্লাইড করি এবং এটিকে ভেঙে ফেলুন (অর্থাৎ, শুরু =শেষ)। যদি উইন্ডোটি অস্থির হয়, আমরা এতে উপাদান যোগ করতে থাকি।

এই পদ্ধতির কোড হল −

উদাহরণ

const arr =[1, 2, 3, 4, 5];const eachCons =function(num){ let res =[], temp =[]; যাক শুরু =0, শেষ =0; while(end  

আউটপুট

কনসোলে আউটপুট হবে −

<পূর্ব>[ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ] ][ [ 1, 2 ], [ 2, 3 ], [ 3, 4 ], [ 4, 5 ] ][ [ 1, 2, 3 ], [ 2, 3, 4 ], [ 3, 4, 5 ] ][ [ 1, 2, 3, 4 ], [ 2, 3, 4, 5 ] ]

  1. জাভাস্ক্রিপ্টে প্রতিটি বস্তুর জন্য একটি অনন্য আইডি কীভাবে তৈরি করবেন?

  2. জাভাস্ক্রিপ্টে প্রতিটি অ্যারে উপাদানে f(x) প্রয়োগ করা হচ্ছে

  3. জাভাস্ক্রিপ্টে প্রতিটি নোডের জন্য পরবর্তী বৃহত্তর নোড খোঁজা হচ্ছে

  4. রুবির জাদুকরী গণনাযোগ্য মডিউল