কম্পিউটার

জাভাস্ক্রিপ্ট কপি অ্যারে:একটি গাইড

জাভাস্ক্রিপ্টে, একটি অ্যারে অনুলিপি করা একটি ডুপ্লিকেট তৈরি করতে অ্যাসাইনমেন্ট অপারেটর (=) ব্যবহার করার মতো সহজ নয়। আপনি যদি কখনও এটি চেষ্টা করে থাকেন তবে আপনি অবাক হবেন যে এটি শুধুমাত্র মূল তালিকার একটি লিঙ্ক তৈরি করে। চুক্তিটি কি ছিল?

এই নির্দেশিকায়, আমরা কিভাবে একটি জাভাস্ক্রিপ্ট অ্যারে অনুলিপি করব সে সম্পর্কে কথা বলতে যাচ্ছি। আমরা তিনটি জাভাস্ক্রিপ্ট কপি অ্যারে কৌশলের জন্য কোডের মধ্য দিয়ে চলে যাব যাতে আপনি অ্যারে কপি করা শুরু করতে পারেন।

জাভাস্ক্রিপ্ট অ্যারে কপি করার সমস্যা

কিছু স্তরে, “=” অপারেটর একটি নতুন ভেরিয়েবলের মধ্যে একটি অ্যারের একটি অনুলিপি তৈরি করে। যদিও এটি একটি অনুলিপির চেয়ে একটি পয়েন্টার বেশি। এর কারণ হল “=” অপারেটর একটি মূল অ্যারের একটি রেফারেন্স তৈরি করে। এটি বিদ্যমান অ্যারের একটি ডুপ্লিকেট তৈরি করে না।

অন্য কোন কোড ছাড়া অ্যাসাইনমেন্ট অপারেটর ব্যবহার করে একটি অ্যারের একটি অনুলিপি তৈরি করার চেষ্টা করুন:

var berries = ["Strawberry", "Gooseberry", "Raspberry"];
var fruits = berries;

console.log(fruits);

আমাদের কোড রিটার্ন করে:

[ "Strawberry", "Gooseberry", "Raspberry" ]

মনে হচ্ছে আমাদের অ্যারে কপি করা হয়েছে. "ফল" আমাদের "বেরি" অ্যারে থেকে সমস্ত মান ধারণ করে।

এখন, "ফল" অ্যারেতে একটি আইটেম যোগ করার চেষ্টা করা যাক:

fruits.push("Melon");
console.log(fruits);
console.log(berries);

আমরা ফল অ্যারেতে "তরমুজ" যোগ করেছি। তারপরে আমরা কনসোলে "ফল" এবং "বেরি" এর মানগুলি প্রিন্ট আউট করি:

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগদানের পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

[ "Strawberry", "Gooseberry", "Raspberry", "Melon" ]
[ "Strawberry", "Gooseberry", "Raspberry", "Melon" ]

উভয় "ফল" এবং "বেরি" একই মান ধারণ করে। কারণ আমরা প্রযুক্তিগতভাবে আমাদের অ্যারে ক্লোন করিনি। আমরা শুধু এটির একটি রেফারেন্স তৈরি করেছি।

যে কোনো সময় আমরা "বেরি" অ্যারেকে ম্যানিপুলেট করি, পরিবর্তনগুলি "ফল" অ্যারেতে করা হবে৷

কিভাবে জাভাস্ক্রিপ্ট অ্যারে কপি করবেন

অ্যাসাইনমেন্ট অপারেটর একটি অ্যারে অনুলিপি করে না। আমাদের অন্য পদ্ধতি ব্যবহার করতে হবে। ভাগ্যক্রমে আমাদের জন্য, একটি অ্যারের একটি অনুলিপি তৈরি করার প্রচুর উপায় রয়েছে। শীর্ষ তিনটি পন্থা হল:

  • স্প্রেড অপারেটর ব্যবহার করে
  • লুপের জন্য একটি ব্যবহার করা হচ্ছে
  • Aray.from ব্যবহার করে

আসুন একের পর এক আলোচনা করি।

স্প্রেড অপারেটর ব্যবহার করা

স্প্রেড অপারেটর হল একটি বৈশিষ্ট্য যা জাভাস্ক্রিপ্ট ES6 এ চালু করা হয়েছে। এটি আপনাকে একটি পুনরাবৃত্তিযোগ্য বস্তুর বিষয়বস্তু অ্যাক্সেস করতে দেয়। এই অপারেটরটি প্রায়শই একটি অ্যারের একটি অগভীর অনুলিপি তৈরি করতে ব্যবহৃত হয়।

স্প্রেড অপারেটর তিনটি বিন্দু নিয়ে গঠিত, যেমন একটি উপবৃত্ত (...)। আসুন আগে থেকে আমাদের "বেরি" অ্যারের একটি অনুলিপি তৈরি করার চেষ্টা করি:

var berries = ["Strawberry", "Gooseberry", "Raspberry"];
var fruits = [...berries];
fruits.push("Melon");

আমরা আমাদের অ্যারের একটি অনুলিপি তৈরি করতে স্প্রেড অপারেটর ব্যবহার করেছি। আসুন আমাদের অ্যারেগুলির মানগুলি সঠিক কিনা তা নিশ্চিত করতে পরীক্ষা করি:

console.log(berries);
console.log(fruits);

আমাদের কোড ফিরে আসে:

[ "Strawberry", "Gooseberry", "Raspberry" ]
[ "Strawberry", "Gooseberry", "Raspberry", "Melon" ]

মান "তরমুজ" শুধুমাত্র "ফল" অ্যারে যোগ করা হয়েছে. এর কারণ হল আমরা স্প্রেড অপারেটর ব্যবহার করে "বেরি" অ্যারের একটি ডুপ্লিকেট তৈরি করেছি। এখন, "ফল" অ্যারে তার নিজস্ব অ্যারে। এর মানগুলি "বেরি" অ্যারে থেকে আলাদা৷

লুপের জন্য a ব্যবহার করা

চেষ্টা করা এবং সত্য পদ্ধতি, একটি ফর লুপ ব্যবহার করে একটি অ্যারের একটি অনুলিপি তৈরি করার একটি ভাল উপায়।

এই পদ্ধতিটি স্প্রেড অপারেটরের মতো পছন্দসই নাও হতে পারে কারণ এটির জন্য কোডের আরও লাইন প্রয়োজন। সেই সাথে বলে, a for loop একটি বস্তুকে ভালোভাবে কপি করে।

var berries = ["Strawberry", "Gooseberry", "Raspberry"];
var fruits = [];

for (var i = 0; i < berries.length; i++) {
	fruits[i] = berries[i]
}

আমরা দুটি তালিকা ঘোষণা করেছি:বেরি এবং ফল। ফল প্রাথমিকভাবে একটি খালি তালিকা. তারপর, আমরা "বেরি" তালিকার প্রতিটি আইটেম লুপ করার জন্য একটি লুপ ব্যবহার করেছি। তালিকার প্রতিটি আইটেমের জন্য, মানটি "ফল" অ্যারেতে অনুলিপি করা হয়।

আমাদের অ্যারেগুলি আলাদা কিনা তা দেখতে আমাদের পরীক্ষা চালানো যাক:

fruits.push("Grapefruit");
console.log(berries);
console.log(fruits);

আমাদের কোড ফিরে আসে:

[ "Strawberry", "Gooseberry", "Raspberry" ]
[ "Strawberry", "Gooseberry", "Raspberry", "Grapefruit" ]

সফলতার ! "বেরি" এবং "ফল" দুটি পৃথক অ্যারে।

Aray.from()

ব্যবহার করা

Array.from() পদ্ধতি যেকোনো পুনরাবৃত্তিযোগ্য বস্তুকে অ্যারেতে পরিণত করে। এটি একটি পুনরাবৃত্তিযোগ্য প্রতিটি আইটেমের মধ্য দিয়ে যায় এবং এটি একটি নতুন অ্যারেতে যুক্ত করে। এর মানে হল যে এটি একটি অ্যারে অনুলিপি করতে ব্যবহার করা যেতে পারে।

আসুন আবার আমাদের "বেরি" অ্যারের একটি অনুলিপি তৈরি করি:

var berries = ["Strawberry", "Gooseberry", "Raspberry"];
var fruits = Array.from(berries);

এই সমাধান, স্প্রেড অপারেটর সিনট্যাক্সের মতো, শুধুমাত্র দুটি লাইন কোড নেয়। এটি একটি অ্যারে অনুলিপি করার একটি দক্ষ এবং সংক্ষিপ্ত উপায়। এখন, আমাদের নতুন অ্যারে চেক করার জন্য একটি পরীক্ষা চালানো যাক:

fruits.push("Pineapple");
console.log(berries);
console.log(fruits);

আমাদের কোড ফিরে আসে:

[ "Strawberry", "Gooseberry", "Raspberry" ]
[ "Strawberry", "Gooseberry", "Raspberry", "Pineapple" ]

আমাদের অ্যারে সফলভাবে অনুলিপি করা হয়েছে৷

উপসংহার

জাভাস্ক্রিপ্টে একটি অ্যারে অনুলিপি করা সহজ যখন আপনি জানেন কিভাবে।

আপনি যদি একটি অ্যারের একটি পৃথক সংস্করণ তৈরি করতে চান তবে অ্যাসাইনমেন্ট অপারেটর একটি অ্যারে অনুলিপি করার জন্য যথেষ্ট নয়৷ কারণ অ্যাসাইনমেন্ট অপারেটর একটি বিদ্যমান অ্যারেতে একটি পয়েন্টার তৈরি করে; এটি একটি নতুন অ্যারে তৈরি করে না।

আপনি স্প্রেড অপারেটর, লুপের জন্য, অথবা Array.from() ব্যবহার করে একটি অ্যারের একটি অনুলিপি তৈরি করতে পারেন পদ্ধতি এখন আপনি একজন বিশেষজ্ঞের মতো জাভাস্ক্রিপ্টে অ্যারে কপি করতে প্রস্তুত৷


  1. জাভাস্ক্রিপ্টে অ্যারে স্লাইস()

  2. জাভাস্ক্রিপ্টে অ্যারে শিফট()

  3. জাভাস্ক্রিপ্টে অ্যারে রিভার্স()

  4. জাভাস্ক্রিপ্টে অ্যারে ডি-স্ট্রাকচারিং।