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

জাভাস্ক্রিপ্টে অ্যারে থেকে লিডিং জিরো সরানো

একটি সংখ্যা অ্যারে দেওয়া আছে। যদি অ্যারের শুরুতে এক বা একাধিক ০ (লিডিং জিরো) থাকে, তবে সেগুলো ইন-প্লেস (in-place) সরিয়ে ফেলতে হবে। অন্যথায় কিছুই করার দরকার নেই।

উদাহরণ

ইনপুট: [0, 0, 0, 14, 0, 63, 0]

আউটপুট: [14, 0, 63, 0] (শুধু শুরুতের ০ গুলো সরানো হয়েছে, মাঝপথের ০ রইলো)

উদাহরণ কোড

const arr = [0, 0, 0, 14, 0, 63, 0];

const removeLeadingZero = arr => {
  while (arr.indexOf(0) === 0) {
    arr.shift();
  }
};

removeLeadingZero(arr);
console.log(arr);

আউটপুট

[ 14, 0, 63, 0 ]

ব্যাখ্যা

  • arr.indexOf(0) === 0 চেক করে যে প্রথম উপাদান ০ কিনা।
  • shift() দিয়ে প্রথম উপাদান সরানো হয় এবং অ্যারের দৈর্ঘ্য ১ কমে যায়।
  • লুপ চলতে থাকে যতক্ষণ পর্যন্ত প্রথম উপাদান ০ নয়।
  • এই মেথডটি মূল অ্যারে মিউটেট করে (in-place)।

অপ্টিমাইজড সংস্করণ (O(n) টাইম)

shift() O(n) টাইম নেয়, তাই বড় অ্যারেতে এটি ধীর হতে পারে। দ্রুত পদ্ধতি:

const removeLeadingZeroFast = arr => {
  let i = 0;
  while (i < arr.length && arr[i] === 0) i++;
  if (i > 0) arr.splice(0, i);
};

এখানে একবারেই সব লিডিং জিরো খুঁজে splice দিয়ে সরানো হয়।

  1. জাভাস্ক্রিপ্টে সংখ্যা থেকে লিডিং জিরো রিমুভ করার পদ্ধতি

  2. জাভাস্ক্রিপ্টে অ্যারে খালি করার উপায়

  3. জাভাস্ক্রিপ্ট Array.prototype.map() ফাংশন

  4. জাভাস্ক্রিপ্ট বেসিক অ্যারে মেথড: push, pop, shift, unshift, splice