unshift() মেথড এলিমেন্টটি শূন্যième ইনডেক্সে যোগ করে এবং বাকি ভ্যালুগুলোকে কনসেকিউটিভ ইন্ডেক্সে শিফট করে আপ করবে, তারপর অ্যারে লেন্থ রিটার্ন করবে।
push() মেথড এলিমেন্টটি অ্যারেতে এন্ডে যোগ করে এবং সেই এলিমেন্টটি রিটার্ন করে। এই মেথড অ্যারে লেন্থ পরিবর্তন করে।
উদাহরণ
let fruits = ['apple', 'mango', 'orange', 'kiwi'];
let fruits2 = ['apple', 'mango', 'orange', 'kiwi'];
console.log(fruits.push("pineapple")); // 5 (নতুন লেন্থ)
console.log(fruits2.unshift("pineapple")); // 5 (নতুন লেন্থ)
console.log(fruits); // ['apple', 'mango', 'orange', 'kiwi', 'pineapple']
console.log(fruits2); // ['pineapple', 'apple', 'mango', 'orange', 'kiwi']
আউটপুট
5 5 [ 'apple', 'mango', 'orange', 'kiwi', 'pineapple' ] [ 'pineapple', 'apple', 'mango', 'orange', 'kiwi' ]
দুটি অরিজিনাল অ্যারেই পরিবর্তিত হয়েছে (মিউটেট হয়েছে)।
পারফরম্যান্স নোট
unshift() push()-এর চেয়ে স্লোওয়ার, কারণ প্রথম এলিমেন্ট যোগ করার পর বাকি সব এলিমেন্টকে বামে শিফট করতে হয় (রিইন্ডেক্সিং)। push() কেবল এন্ডে যোগ করে, শিফটিং দরকার নেই।
সারসংক্ষেপ
| মেথড | পজিশন | রিটার্ন | মিউটেট করে? | স্পিড |
|---|---|---|---|---|
| push() | এন্ডে | নতুন লেন্থ | হ্যাঁ | ফাস্ট |
| unshift() | শুরুতে | নতুন লেন্থ | হ্যাঁ | স্লো |
| pop() | এন্ড থেকে | রিমুভড এলিমেন্ট | হ্যাঁ | ফাস্ট |
| shift() | শুরু থেকে | রিমুভড এলিমেন্ট | হ্যাঁ | স্লো |