ট্র্যাক
/
MoonScript
MoonScript
/
অনুশীলনী
/
অ্যারে ফ্ল্যাট করা
অ্যারে ফ্ল্যাট করা

অ্যারে ফ্ল্যাট করা

মধ্যম

ভূমিকা

জরুরি সরবরাহের একটি চালান এসে পৌঁছেছে, কিন্তু একটি সমস্যা আছে। ক্ষতি থেকে রক্ষা করতে জিনিসপত্রগুলো, অর্থাৎ টর্চলাইট, প্রাথমিক চিকিৎসার কিট আর কম্বল, বাক্সের ভেতরে ভরে রাখা আছে, আর সেই বাক্সগুলোর কয়েকটি আবার অন্য বাক্সের ভেতরে কয়েক স্তর গভীরে নেস্টেড!

জরুরি অবস্থার জন্য প্রস্তুত থাকতে হলে সব কিছু একটি বাক্সেই সহজে হাতের নাগালে থাকতে হবে। আপনি কি সব সরবরাহ খুলে একটি বাক্সে ভরে দিতে পারবেন, যাতে সবচেয়ে বেশি প্রয়োজন হলে সেগুলো প্রস্তুত থাকে?

নির্দেশনা

যেকোনো গভীরতার একটি নেস্টেড অ্যারে নিন এবং সম্পূর্ণ ফ্ল্যাট করা একটি অ্যারে রিটার্ন করুন।

লক্ষ্য করুন, কিছু প্রোগ্রামিং ভাষার ট্র্যাকে ইনপুট অ্যারেতে null-এর মতো মান থাকতে পারে, আর এই মানগুলো কীভাবে দেখানো হয় তা ট্র্যাকভেদে আলাদা। এমন মান ফ্ল্যাট করা অ্যারে থেকে বাদ দেওয়া উচিত।

এছাড়াও, ট্র্যাক অনুযায়ী ইনপুট ভিন্ন ডেটা টাইপের হতে পারে এবং ভিন্ন ভিন্ন টাইপ থাকতে পারে।

বিস্তারিত জানতে টেস্ট স্যুট দেখুন।

উদাহরণ

ইনপুট: [1, [2, 6, null], [[null, [4]], 5]]

আউটপুট: [1, 2, 6, 4, 5]

Moonscript-এর জন্য নির্দিষ্ট নির্দেশনা

Lua এবং Moonscript একটি টেবিলে nil মান রাখতে পারে না। Lua-তে nil-এর ধারণাটি হলো একটি মানের অনুপস্থিতি। Lua টেবিল থেকে কোনো কী (key) মুছে ফেলতে ওই কী (key)-তে nil অ্যাসাইন করা কাজে লাগায়।

এই অনুশীলনীতে ফ্ল্যাট করা অ্যারে থেকে স্ট্রিং "null" বাদ দিতে হবে।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
MoonScript Exercism

অ্যারে ফ্ল্যাট করা শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, MoonScript ট্র্যাকের 126টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।