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

ভ্যানিলা জাভাস্ক্রিপ্ট দিয়ে অ্যারের লাস্ট এলিমেন্ট পাওয়া

চলুন শিখি কীভাবে ভ্যানিলা জাভাস্ক্রিপ্ট দিয়ে অ্যারের লাস্ট এলিমেন্ট পাওয়া যায়, ৩টি ভিন্ন মেথড ব্যবহার করে। প্রথমে, একটি আইটেমের অ্যারে সেট আপ করি যাতে আমাদের কাজ করার জন্য কিছু থাকে। এই কেসে, আমরা এক্সারসাইজের একটি লিস্ট ব্যবহার করব।

এক্সারসাইজ অ্যারে তৈরি করা

const exercises = ['pull-up', 'push-up', 'squat', 'deadlift']

আমরা যদি লিস্টের প্রথমটি পেতে চাই, আমরা exercises[0] ব্যবহার করি, দ্বিতীয়টির জন্য exercises[1] কিন্তু যদি আমরা আমাদের লিস্টে মোট কতগুলো এক্সারসাইজ আছে সেটি না জানি?

সমস্যা নেই, সেটি করার কয়েকটি পদ্ধতি আছে।

১. array.length দিয়ে লাস্ট এলিমেন্ট খুঁজে বের করা

প্রথম মেথডে, আমরা জাভাস্ক্রিপ্টের array.length প্রোপার্টি ব্যবহার করব। এটি ব্যবহার করতে হলে আমাদের প্রথমে একটি ভেরিয়েবল সেট আপ করতে হবে, এবং তারপর আমাদের অ্যারে এটিকে এসাইন করতে হবে:

const lastExercise = exercises[exercises.length - 1]

এখন আপনি যদি console.log(lastExercise) রান করেন, আপনার কনসোল অ্যারের লাস্ট এলিমেন্ট আউটপুট করবে, এই কেসে deadlift।

২. pop() ব্যবহার করে লাস্ট এলিমেন্ট খুঁজে বের করা

আমরা একটি জাভাস্ক্রিপ্ট অ্যারে মেথড pop()ও ব্যবহার করতে পারি যা অ্যারের লাস্ট এলিমেন্ট পাওয়া যায় কিন্তু অন্য পদ্ধতিতে। চেষ্টা করুন:

exercises.pop()

pop() মেথড নিঃসন্দেহে আমাদের অ্যারের লাস্ট এলিমেন্টকে টার্গেট করে, কিন্তু সতর্ক থাকুন এটি শুধু লাস্ট এলিমেন্ট খুঁজে বের করে না, এটি সেটি রিমুভও করে।

আপনি যদি exercises.pop()-র ঠিক নিচে console.log(exercises) করেন তবে আপনি দেখবেন আপনার অ্যারে এখন ৩টি এলিমেন্ট রাখে মূল ৪টির বদলে। এটি আপনার ইউজ কেসের উপর নির্ভর করে ভালো বা মন্দ হতে পারে।

৩. Array slice() মেথড দিয়ে লাস্ট এলিমেন্ট খুঁজে বের করা

আমি যা আখির মেথড দেখাতে চাই সেটি length মেথডের মত, কিন্তু এখানে আমরা slice() ব্যবহার করব, এরকম:

const lastExercise = exercises.slice(-1)

এখন আপনি যদি console.log(lastExercise) করেন তবে আপনি length উদাহরণের মত একই ফলাফল পাবেন। অনেক ডেভেলপার slice মেথডকে length মেথডের চেয়ে বেশি রিডার-ফ্রেন্ডলি মনে করেন, কিন্তু দুর্ভাগ্যবশত এটি অনেক ধীর, পারফরম্যান্স-ওয়াইজ।

আমার কথা কী বোঝাতে চাই সেটি দেখতে, এই slice vs. length কম্পারিজন টেস্ট jsperf.com-এ রান করুন।

তাহলে আপনি সবচেয়ে পারফরম্যান্ট নাকি সবচেয়ে রিডেবল অ্যারে মেথড ব্যবহার করবেন? কোনো সঠিক বা ভুল উত্তর নেই, এটি আপনার কনটেক্সটের উপর নির্ভর করে।

সাধারণত, আমি পারফরম্যান্সকে কনভেনিয়েন্সের চেয়ে প্রাধান্য দিয়ে চলে যাই রুল অফ থাম্ব হিসেবে, যেমন ইমেজ নিয়ে কাজ করার সময়। এটি ব্ল্যাক অ্যান্ড হোয়াইট প্রশ্ন নয়। সিম্পল অ্যারেতে লাস্ট এলিমেন্ট খুঁজে বের করার কথায়, আপনি slice এবং length-এর মধ্যে কোনো পারফরম্যান্স পার্থক্য আপনার অ্যাপে লক্ষ্য করবেন না, যদি না আপনি মিলিয়ন মিলিয়ন ফাংশন প্রতি সেকেন্ড এক্সিকিউট করেন।

সবসময় কনটেক্সট ভিত্তিক সিদ্ধান্ত নিন।


  1. জাভাস্ক্রিপ্টে অ্যারেতে প্রথম ও শেষ আইটেম পাওয়া

  2. জাভাস্ক্রিপ্টে অ্যারে-র প্রথম n% অংশ বের করা

  3. জাভাস্ক্রিপ্টে অ্যারের প্রতিটি মান থেকে শেষ n অঙ্ক ভাগ করা

  4. জাভাস্ক্রিপ্টে অ্যারের প্রথম এলিমেন্ট বের করা