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

জাভাস্ক্রিপ্টে shift() এবং pop() মেথডের পার্থক্য

shift() মেথড শূন্যième ইন্ডেক্সের এলিমেন্টটি রিমুভ করে এবং বাকি ভ্যালুগুলোকে কনসেকিউটিভ ইন্ডেক্সে শিফট করে ডাউন করবে, তারপর রিমুভড ভ্যালু রিটার্ন করবে। লেন্থ ০ হলে undefined রিটার্ন করে।

pop() মেথড অ্যারের লাস্ট এলিমেন্টটি রিমুভ করে এবং সেটি রিটার্ন করে। এই মেথড অ্যারে লেন্থ পরিবর্তন করে।

উদাহরণ

let fruits = ['apple', 'mango', 'orange', 'kiwi'];
let fruits2 = ['apple', 'mango', 'orange', 'kiwi'];

console.log(fruits.pop());    // 'kiwi'
console.log(fruits2.shift()); // 'apple'

console.log(fruits);   // ['apple', 'mango', 'orange']
console.log(fruits2);  // ['mango', 'orange', 'kiwi']

আউটপুট

kiwi apple 
[ 'apple', 'mango', 'orange' ] 
[ 'mango', 'orange', 'kiwi' ]

দুটি অরিজিনাল অ্যারেই পরিবর্তিত হয়েছে (মিউটেট হয়েছে)।

পারফরম্যান্স নোট

shift() pop()-এর চেয়ে স্লোওয়ার, কারণ প্রথম এলিমেন্ট রিমুভ করার পর বাকি সব এলিমেন্টকে বামে শিফট করতে হয় (রিইন্ডেক্সিং)। pop() কেবল এন্ড থেকে রিমুভ করে, শিফটিং দরকার নেই।

সারসংক্ষেপ

মেথডপজিশনরিটার্নমিউটেট করে?স্পিড
push()এন্ডে যোগনতুন লেন্থহ্যাঁফাস্ট
unshift()শুরুতে যোগনতুন লেন্থহ্যাঁস্লো
pop()এন্ড থেকে রিমুভরিমুভড এলিমেন্টহ্যাঁফাস্ট
shift()শুরু থেকে রিমুভরিমুভড এলিমেন্টহ্যাঁস্লো

ইমিউটেবল অ্যাল্টারনেটিভ

অরিজিনাল অ্যারে পরিবর্তন না করতে চাইলে: [...arr, newItem] (push), [newItem, ...arr] (unshift), arr.slice(0, -1) (pop), arr.slice(1) (shift)।

  1. জাভাস্ক্রিপ্টে ফাংশন ও মেথডের পার্থক্য

  2. জাভাস্ক্রিপ্টে বর্গের যোগফল এবং যোগফলের বর্গের পার্থক্য

  3. জাভাস্ক্রিপ্টে অ্যারেতে যোগফল ও গুণফলের পার্থক্য বের করা

  4. PHP এবং JavaScript এর পার্থক্য