JavaScript-এ একটি নির্দিষ্ট অ্যারে পজিশন (ইন্ডেক্সে) আইটেম যোগ করার পদ্ধতি শিখুন।
মান লইয়া আপনি একটি অ্যারেতে আইটেম যোগ করতে চান, কিন্তু আপনি এপেন্ড (শেষে যোগ) বা প্রিপেন্ড (শুরুতে যোগ) করতে চান না। আপনি আইটেমটি অ্যারের একটি নির্দিষ্ট পজিশন/স্থানে যোগ করতে চান।
নোট: যখন আমরা নির্দিষ্ট পজিশন/স্থানে ডেটা ম্যানিপুলেশন কাহînes, আমরা সেটাকে প্রায়শই ইন্ডেক্স বলি। অ্যারে ইন্ডেক্স-এ আমরা গণনা শুরু করি 0 থেকে, অর্থাৎ:
0হলো11হলো2- এবংكذا।
সুতরাং আপনার ৫ আইটেমের একটি অ্যারে আছে, এবং আপনি ৩ নম্বর আইটেম অ্যাক্সেস করতে চান, তবে আপনি এটিকে 2 হিসেবে অ্যাড্রেস করবেন।
ঠিক আছে, আসুন যা করতে আয়েছেন সেটি করি।
splice() মেথড এন্টার করুন
একটি নির্দিষ্ট ইন্ডেক্স পজিশনে অ্যারেতে আইটেম যোগ করতে, আমরা পাওয়ারফুল JavaScript array.splice() মেথড ব্যবহার করতে পারি। splice() মেথড অ্যারেতে আইটেম যোগ বা রিমভ করতে পারে।
splice() সিনট্যাক্স নিচের মতো:
array.splice(startIndex) array.splice(startIndex, deleteCount) array.splice(startIndex, deleteCount, value1) splice() মেথড ৩ বা ততোধিক আর্গুমেন্ট নেয়:
- আর্গুমেন্ট ১:
startIndexযেটি হলো কোথায় (পজিশন) আপনি কিছু যোগ করতে চান। - আর্গুমেন্ট ২: অপশনাল
deleteCountআর্গুমেন্ট যেখানে আপনি স্পেসিফাই করতে পারেন কতগুলো আইটেম ডিলিট করতে চান (startIndexপজিশন থেকে)। - আর্গুমেন্ট ৩: নতুন আইটেম ভ্যালু(গুলো) যা আপনি অ্যারেতে যোগ করতে চান।
প্র্যাক্টিক্যাল splice() উদাহরণ
মান লইয়া আমাদের একটি কাল্পনিক একশন-প্যাকড মুভি "Ask Questions Later"-এর এক্টরদের কাস্ট লিস্ট আছে। এক্টররা তাদের মুভিতে রোলের সাইজ অনুযায়ী লিস্টেড।
কাস্টের একটি এক্টর রাগ করলেন কারণ তার নাম মেইন কাস্ট লিস্টে দেখাচ্ছে না:
const mainCastList = [ "Michael Jai White", "Jean-Claude Van Damme", "Sigourney Weaver", "Jason Statham", "Uma Thurman" "The Rock", "Wesley Snipes" ] এবং রাগান্বিত এক্টর অন্য কেউ নয়, সুনাম স্টিভেন সিগ্যাল(!!) যিনি এই মুভিতে ঠিক ৭ সেকেন্ড আবির্ভূত হন, মাত্র ১০ শত্রুকে বেঁচে বাঁচাতে পারবেন। মিস্টার সিগ্যাল মনে করেন এটিই মেইন কাস্ট লিস্টে থাকার জন্য পর্যাপ্ত স্ক্রিন টাইম।
এবং কে স্টিভেন সিগ্যালের সাথে বিতর্ক করবে?
ঠিক আছে, আসুন সিগ্যালকে মেইন কাস্ট লিস্টে যোগ করি, splice() মেথড এবং আপনার শিখা আর্গুমেন্ট সিনট্যাক্স ব্যবহার করে।
আমরা স্টিভেন সিগ্যালকে মেইন কাস্ট লিস্টে ২য় এক্টর হিসেবে যোগ করব, মাইকেল জায় হোয়াইটের ঠিক পরে (কারণে একটু পরে ব্যাখ্যা করব):
const mainCastList = [ "Michael Jai White", "Jean-Claude Van Damme", "Sigourney Weaver", "Jason Statham", "Uma Thurman", "The Rock", "Wesley Snipes", ] mainCastList.splice(1, 0, "Steven Seagal") console.log(mainCastList) // ["Michael Jai White", "Steven Seagal", "Jean-Claude Van Damme", "Sigourney Weaver", "Jason Statham", "Uma Thurman", "The Rock", "Wesley Snipes"] তাক, হয়ে গেলো স্টিভেন, আশা করি আপনি খুশি!
এবং কেননা পুনরাবৃত্তি শেখার একটি গুরুত্বপূর্ণ অংশ, উপরের কোডে কী হচ্ছে সেটি আবার:
- আমরা
splice()মেথডটিmainCastListভেরিয়েবলের সাথে আটাচ করি - তারপর
splice()-এ ৩টি আর্গুমেন্ট অ্যাপ্লাই করি, startIndex পজিশন (1),deleteCount(0= কিছু ডিলিট হয় না), এবং শেষে, সেই ইন্ডেক্স পজিশনে যোগ করতে চাওয়া আইটেম ("Steven Seagal")।
ওহ এবং আমরা মিস্টার সিগ্যালকে লিস্টে নম্বর এক করতে পারি না কারণ মাইকেল জায় হোয়াইট তার গোড়া ফাঁকিয়ে দেবে, অবশ্যই।
splice() মেথড সম্পর্কে জানা দরকার
একসাথে একাধিক আইটেম যোগ করুন
আপনি যদি একসাথে একাধিক আইটেম যোগ করতে চান, কমা দিয়ে সেপারেট করুন, নিচের মতো:
mainCastList.splice(1, 0, "Steven Seagal", "Sylvester Stallone") startIndex থেকে সব আইটেম ডিলিট করুন
আপনি যদি ২য় আর্গুমেন্ট পাস না করেন (আমাদের উদাহরণে, 0) তবে সকল আইটেম startIndex পজিশন থেকে ডিফল্টভাবে রিমুভ হয়ে যাবে। সুতরাং বাস্তব প্রজেক্টে splice() ব্যবহার করার সময় সতর্ক रहুন।
অ্যারের শেষ থেকে শুরু করুন
আপনি যদি পজিশন স্পেসিফাই করতে চান যেখান থেকে আপনি আইটেম যোগ/ডিলিট করতে চান অ্যারের শেষ থেকে (শুরু থেকে না), তবে নেগেটিভ ভ্যালু ব্যবহার করুন প্রথম splice() আর্গুমেন্টে, নিচের মতো:
mainCastList.splice(-1, 0, "Steven Seagal") console.log(mainCastList) // ["Michael Jai White", "Jean-Claude Van Damme", "Sigourney Weaver", "Jason Statham", "Uma Thurman", "The Rock", "Steven Seagal", "Wesley Snipes"] এখন মিস্টার সিগ্যাল মেইন কাস্ট লিস্টে ২য় লাস্টে আছেন, যা একটি বোল্ড সিদ্ধান্ত যা আপনি নিজের রিস্কে নেবেন।