JavaScript
JavaScript Bangla Part-7: JavaScript এ array কি
JavaScript এ array কি?
JavaScript এ array এক ধরণের data type যা একটি single variable এ একাধিক value সংরক্ষণের সুযোগ দেয়।
আরেকটু ভালো ভাবে বুঝে নেয়া যাক , ধরুন আপনার কাছে যদি একাধিক value এর একটি list থাকে (উদাহরণস্বরুপঃ w3programmers ছাত্রদের নামের লিস্ট) এবং সেই লিস্ট যদি শত সহস্র হয়ে থাকে , তাহলে সেগুলোকে আলাদা আলাদা ভ্যারিয়েবলের মধ্যে রেখে পরবর্তীতে ব্যবহার অনেক কষ্ট সাধ্য। আর এই কাজটি আমরা array তে খুব সহজে করতে পারি। কারণ array একই নামের অধীনে একাধিক ভ্যালু রাখতে পারে এবং আপনি index নম্বর ব্যবহার করে ভ্যালু এক্সেস করতে পারেন।
Note: JavaScript array এর index গুলো শুধুমাত্র nummerical হয়ে থাকে, এবং কোনো ধরণের associative array বা string index support করেনা।
JavaScript এ array কিভাবে তৈরি করা হয় ?
JavaScript এ দুইভাবে array তৈরী করা যায় :
- array literal উপায়ে
- সরাসরি array class এর Object তৈরি করে (new keyword ব্যবহার করে)
array literal উপায়ে array তৈরি
JavaScript এ array literal উপায়ে অ্যারে তৈরি করার সবচেয়ে সহজ। যার সিনটেক্স হচ্ছে নিম্নরূপ :
var array_name = [item1, item2, ...];
উদাহরণ :
<!DOCTYPE html> <html> <body> <h2>JavaScript Arrays</h2> <p id="student_list"></p> <script> var students = ["Azhar", "Sahin", "Rakib","Abdullah","Shanto"]; document.getElementById("student_list").innerHTML = students; </script> </body> </html>
Output
তবে আপনি চাইলে একাধিক লাইনেও JavaScript array কে ঘোষণা করতে পারেন।
<!DOCTYPE html> <html> <body> <h2>JavaScript Arrays</h2> <p id="student_list"></p> <script> var students = [ "Azhar", "Sahin", "Rakib", "Abdullah", "Shanto" ]; document.getElementById("student_list").innerHTML = students; </script> </body> </html>
সরাসরি array class এর Object তৈরি করে (new keyword ব্যবহার করে) array তৈরি
new Array অবজেক্ট কল করার মাধ্যমে JavaScript এ আপনি খুব সহজে array তৈরী করতে পারেন। নিচের উদাহরণটি দেখুন:
<!DOCTYPE html> <html> <body> <h2>JavaScript এ array</h2> <p id="demo"></p> <script> var students = new Array("Azhar", "Sahin", "Rakib","Abdullah","Shanto"); document.getElementById("demo").innerHTML = students; </script> </body> </html>
Output
array তে কিভাবে একটা নতুন value ঢুকাবেন এবং replace করবেন।
array তে একটা নতুন value assign করতে হলে আপনাকে পুরাতন index অর্থাৎ আগে থেকেই assigned index গুলো ব্যতীত নতুন একটা index দিয়ে value assign করতে হবে। আর যদি পুরাতন index ব্যবহার করেন , তাহলে নতুন assigned value টি পুরাতন value কে replace করে দিবে। নিচের উদাহরণ দেখুন :
By Object way
<!DOCTYPE html> <html> <body> <h2>JavaScript Arrays</h2> <p id="demo"></p> <script> var students = new Array("Azhar", "Sahin", "Rakib","Abdullah","Shanto"); students[5]="Hasan"; students[2]="Shakil"; document.getElementById("demo").innerHTML = students; </script> </body> </html>
By Literal Way
<!DOCTYPE html> <html> <body> <h2>JavaScript Arrays</h2> <p id="demo"></p> <script> var students =["Azhar", "Sahin", "Rakib","Abdullah","Shanto"]; students[5]="Hasan"; students[2]="Shakil"; document.getElementById("demo").innerHTML = students; </script> </body> </html>
Output
ব্যাখ্যা: লক্ষ্য করুন এখানে আমাদের array তে আগে থেকেই কোনো 5 index না থাকায় সেখানে একটা নতুন value হিসেবে “hasan” assign হয়েছে। আবার আগে থেকেই 2 index থাকায় সেখানে value “Rakib” কে “Shakil” দিয়ে replace হয়েছে।
array এর individual element এ কিভাবে access করবেন।
JavaScript এর individual element এ access করতে হলে আপনাকে array এর index ব্যবহার করতে হবে। নিচের উদাহরণ দেখুন :
<!DOCTYPE html> <html> <body> <h2>JavaScript Arrays</h2> <p id="demo"></p> <script> var students = new Array("Azhar", "Sahin", "Rakib","Abdullah","Shanto"); document.getElementById("demo").innerHTML = "Welcome "+students[0] +"!"; </script> </body> </html>
Output
array এর কোন পদ্ধতিতে array declaration ভালো ?
এক কোথায় প্রথম পদ্ধতিতে অর্থাৎ [ ] দিয়ে এবং new Array() দিয়ে এরে তৈরী না করাই ভালো। এর কারণ হলো অনেক সময় new Array() দিয়ে তৈরী কোনো array তে শুধু একটা value থাকে তখন সেটি আমাদেরকে unexpected রেজাল্ট দেখায়। নিচের উদাহরণ লক্ষ্য করুন :
<!DOCTYPE html> <html> <body> <h2>JavaScript Arrays</h2> <p>Avoid using new Array().</p> <p id="demo1"></p> <p id="demo2"></p> <script> var numbers1 = new Array(40); var numbers2 = [50]; document.getElementById("demo1").innerHTML = numbers1[0]; document.getElementById("demo2").innerHTML = numbers2[0]; </script> </body> </html>
Output
ব্যাখ্যা: লক্ষ্য করবেন, আমাদের প্রথম numbers1 array টি new Array দিয়ে তৈরী , এবং সেখানে শুধু একটা value থাকায় আমাদের কে undefined index error দেখাচ্ছে। কিন্তু দ্বিতীয় array numbers2 তে এই ধরণের কোনো সমস্যা নাই।