Array Type Object

Array Type Object – ECMAScript में Object Type के बाद Array Type को सबसे ज्यादा Use किया जाता है। किसी भी अन्‍य Programming Language के Array की तुलना में ECMAScript का Array थोडा अलग तरीके से काम करता है।

अन्‍य Programming Languages में Array समान प्रकार के बहुत सारे Data की एक Ordered List होता है, लेकिन ECMAScript में एक Array विभिन्न प्रकार के Data को Hold कर सकता है। यानी ECMAScript Array में हम एक ही Array में String, Number, Object आदि को Store कर सकते हैं। साथ ही ECMAScript का Array Dynamically Sized होता है। यानी Data बढने के साथ ही Automatically इसकी Size बढ जाती है, जबकि किसी Data को Delete करने की स्थिति में Array की Size Automatically कम हो जाती है।

Arrays को भी Objects की तरह ही हम दो तरीकों से Create कर सकते हैं। पहले तरीके के अन्तर्गत हम निम्नानुसार new Operator का प्रयोग करते हुए Array Constructor का प्रयोग करते हैं:


var colors = new Array();

यदि हमें पता हो कि हमें Create होने वाले Array में कुल कितने Data Store करने हैं, तो हम Array के Constructor में Argument के रूप में Array की Size को Specify कर सकते हैं। जैसे-


var colors = new Array(15);

उपरोक्त Statement कुल 15 Items को Hold करने के लिए colors नाम का Array Create करता है। जब हम इस प्रकार से Array Create करते हैं, तब Array के सभी Elements में तब तक undefined मान Store रहता है, जब तक हम Array की हर Location पर कोई Value Store नहीं कर देते। इसी तरह से हम किसी Array में Data Specify करते हुए भी Array Create कर सकते हैं। जैसे-


var colors = new Array("red", "green", "blue", "orange");

उपरोक्त Statement colors नाम का एक Array Create करता है, जिसमें कुल चार Strings Store होते हैं।

किसी Array को हम उसके Constructor में केवल एक Value Specify करके भी Create कर सकते हैं। जब हम किसी Array के Constructor में Number Value Pass करते हैं, तब ECMAScript Specify किए गए मान के बराबर Size का Array Create करता है, जबकि किसी Single String को Constructor में Pass करने पर Create होने वाले Array की Size एक ही होती है, जिसमें एक String Stored होता है। जैसे-


   var colors = new Array(3);
   //Creates an array with three items

   var names = new Array("Kuldeep");
   //Creates an array with one item, the string "Kuldeep"

Array Create करते समय हम new Operator को छोड भी सकते हैं। यानी हमें नया Array Create करते समय new Operator को Specify करना जरूरी नहीं होता और हम उपरोक्त Codes को निम्नानुसार भी लिख सकते हैं:


var colors = Array(3);
//Creates an array with three items

var names = Array("Kuldeep");
//Creates an array with one item, the string "Kuldeep"

Array Create करने का दूसरा तरीका Array Literal Notation होता है। इस तरीके से Array Create करते समय हमें Square Brackets का प्रयोग करना होता है और Specify किए जाने वाले सभी मानों को Comma Separated List के रूप में Specify करना होता है। जैसे-


var colors = ["red", "green", "blue", "orange"]; 
  //Creates an array with three strings.
var names = [];                
  //Creates an empty array.
var values = [1, 2, ];         
  //AVOID! Creates an array with 2 or 3 items. Uncertain!

var options = [ , , , , , ];   
  //AVOID! Creates an array with 6 or 7 items. Uncertain!
  • इस Code में पहली Lines चार Strings को Hold करने के लिए एक colors नाम का Array Create करता है।
  • दूसरा Statement एक Empty Array Create करता है, जिसमें हम हमारी जरूरत के अनुसार बाद में Values को Store कर सकते हैं।
  • तीसरे Statement में हमने अन्त में एक Comma Specify कर दिया है, इसलिए अलग-अलग Web Browsers इसे अलग-अलग तरीके से Treat करते हैं।
  • कुछ Web Browsers इस Statement के लिए 3 Items का Array Create करते हैं जबकि कुछ Web Browsers दो Items के लिए। यही तथ्य चौथे Statement पर भी Apply होता है।

जब हम किसी Array में Values Specify करते समय एक से ज्यादा Continues Commas को Specify कर देते हैं, तब हर Comma के लिए Web Browser एक Array Element करता है और उसमें Value के रूप में undefined मान Store कर देता है। जैसे-


   var colors = ["red", , "green", "blue", "orange"];

ये Statement चार नहीं बल्कि पांच Strings को Hold कर रहा है, क्योंकि हमने दूसरे Element के रूप में एक Extra Comma Specify कर दिया है और इस दूसरे Element में undefined मान Store होता है।

Array की Values को Access करने के लिए हम Zero Based Indexing System का प्रयोग कर सकते हैं, जिसमें Array का पहला Item हमेंशा Index Number 0 पर, दूसरा Element Index Number 1 पर, तीसरा Item Index Number 2 पर और यही क्रम Array के अन्त तक चलता रहता है।


var colors = ["red", "blue", "green"];   
alert(colors[0]);       //display the first item "red"
colors[2] = "black";    //change the third item with value "black"
colors[3] = "brown";    //add a fourth item with value "brown"

Square Brackets के बीच में Specify किया गया Index Number इस बात को Specify करता है कि हम Array के किस Element को Access करना चाहते हैं। यदि Index के रूप में Specify किया गया मान Array में Stored कुल Items की संख्‍या से कम हो, तो Array के उस Index Number पर Placed मान Return होता है। जैसे colors[0] Index Number 0 वाली Location के मान “red” को Return करता है।

जब हम किसी Array में कोई नया Element Add करते हैं, तब Default रूप से Add होने वाला नया Element Array के अन्त में Add होता है। जबकि यदि हम किसी Array में Stored कुल Elements से अधिक मान Index Number के रूप में Specify कर दें, तो JavaScript स्वयं ही Automatically Array की Size को Expand कर देता है।

उदाहरण के लिए यदि हम colors Array के Index Number 4 पर कोई Value Store करना चाहें, तो हमें केवल निम्न Statement लिखना है और Array की Size Automatically एक बढत हो जाएगी, जिससे Array में कुल 5 Items हो जाऐंगे-


   colors[4] = "brown";

किसी Array में Stored कुल Elements की संख्‍या को हम Array की length Property द्वारा जान सकते हैं क्योंकि Array में कुल जितने Elements होते हैं, Array की length Property में वही मान Store होता है। जैसे-


  var colors = ["red", "blue", "green"]; 
  var names = [];         // Creates an empty array
  alert(colors.length);   // 3
  alert(names.length);    // 0

उपरोक्त Codes में हम देख सकते हैं कि हमने दो Array Create किए हैं। पहले Array में कुल तीन Strings हैं, जबकि दूसरा Array एक Empty Array है। फलस्वरूप जब हम इन Arrays की length Property को Alert Box में Display करते हैं, तो हमें क्रमश: 30 दिखाई देता है।

Array के length Property का एक सबसे बडा Advantage ये है कि JavaScript में ये Property Read Only नहीं होती। इसलिए इस Property में नया मान Set करके हम किसी Array की Size को Increase कर सकते हैं अथवा Array की Size को Decrease करके Array के Items को Delete कर सकते हैं। जैसे-


  var colors = ["red", "blue", "green"];
  colors.length = 4;
  alert(colors[3]);      //undefined

उपरोक्त Code में हमने कुल तीन Items को Hold करने वाला colors नाम का एक Array Create किया है और दूसरे Statement में Array की length Property में मान 4 Specify करके Array की Size को Increase किया है।

फलस्वरूप तीसरे Statement में Array के चौथे Element को Display करने पर हमें undefined मान Display होता है क्योंकि चौथा मान एक Blank मान है, जिस पर हमने कोई Value Store नहीं किया है।

इसी तरह से length Property में नया मान Set करके हम Array से Items को निम्नानुसार Remove भी कर सकते हैं:


   var colors = ["red", "blue", "green"]; 
   colors.length = 2;
   alert(colors[2]);    // undefined

उपरोक्त Code में भी हमने color नाम का एक Array Create किया है, जिसमें कुल तीन Items हैं। लेकिन दूसरे Statement में हमने इस Array की Size को Change करके 2 Set कर दिया है। ऐसा करने के कारण Array में अब केवल दो Items ही शेष बचते हैं, “green” Value वाला तीसरा Item Array से Remove हो जाता है।

फलस्वरूप तीसरे Statement में जब हम colors नाम के Array के तीसरे Element को Alert Box में Display करने की कोशिश करते हैं, तो हमें Output के रूप में “undefined” मान प्राप्त होता है, जो इस बात का Indication है कि तीसरा Element Available नहीं है।

length Property के मान का प्रयोग हम किसी Array की अन्तिम Position पर यानी Array के अन्त में नया मान Insert करने के लिए भी कर सकते हैं। जैसे-


   var colors = ["red", "blue", "green"];
   colors[colors.length] = "black";  //add a color (position 3)
   colors[colors.length] = "brown";  //add another color (position 4)

उपरोक्त Code में colors.length Property हमेंशा Array के अन्तिम Position को Represent करता है, इसलिए दोनों ही Statement में समान Location Specify करने के बावजूद “black” व “brown” दोनों Strings Array में Insert होंगी लेकिन String “black”Index Number 3 पर Insert होगी जबकि String “brown” Index Number 4 पर Insert होगी।

किसी भी Array के अन्तिम Element के Index Number को प्राप्त करने के लिए हमें केवल Array की length Property में से एक कम करना होता है। यानी length-1 हमेंशा Array के अन्तिम Element की Position को Represent करता है।

जैसे ही हम किसी Array में नया Element Add करते हैं, उस Array की length Property Automatically Update हो जाती है और Currently Inserted Items समेत Array के कुल Elements की संख्‍या को Represent करती है।

ECMAScript में कोई भी Array अधिकतम 4294967295 Elements को Hold कर सकता है, जो लगभग किसी भी Programming Requirement के लिए पर्याप्त है। यदि हम इससे ज्यादा Items Add करने की कोशिश करते हैं, तो ECMAScript Error Generate करता है।

Object Type Reference
Conversion Methods

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Special Discount Offer

खरीदिए एक से ज्‍यादा EBooks, और पाईए ₹100 से ₹1200 तक का Extra Cash Discount

Discount Coupon Codes