মনে রাখবেন যে আপনি যখন কোনও অবস্থান (বা 0) সূচক ব্যবহার করেন, মানগুলি অ্যারের মধ্যে রাখা হয়:
var array = [];
array[0] = "Foo";
array[1] = "Bar";
আপনি যখন সূচি-বহির্ভুত মানগুলি (0-9 + নয়) যোগ করেন তখন এটি হয় না:
var array = [];
array[0] = "Foo";
array[1] = "Bar";
array[-1] = "Fizzbuzz";
আপনি যখন নিয়মগুলি দ্বারা খেলেন তখন মানগুলিকে কেবল অ্যারেতে রাখা হয়। আপনি যখন করবেন না, সেগুলি গ্রহণ করা হয় না। তবে এগুলি নিজেই অ্যারে অবজেক্টে স্বীকৃত, যা জাভাস্ক্রিপ্টে ঠিক যে কোনও কিছুর ক্ষেত্রে। যদিও ["Foo", "Bar"]আমাদের অ্যারেতে একমাত্র মান রয়েছে তবে আমরা এখনও অ্যাক্সেস করতে পারি "Fizzbuzz":
array[-1];
তবে আবার লক্ষ করুন যে এটি অ্যারে মানের অংশ নয়, কারণ এর "সূচক" বৈধ নয়। এটি পরিবর্তে অ্যারেটিতে কেবল অন্য সদস্য হিসাবে যুক্ত করা হয়েছিল। আমরা একই ফ্যাশনে অন্য অ্যারে সদস্যদের অ্যাক্সেস করতে পারি:
array["pop"];
এখানে নোট করুন যে আমরা popঅ্যারেতে পদ্ধতিটি অ্যাক্সেস করছি , যা আমাদের জানায় যে এতে নেটিভ কোড রয়েছে। আমরা "পপ" এর কী দিয়ে অ্যারে মানগুলির কোনওটিই অ্যাক্সেস করছি না, বরং অ্যারে অবজেক্টে নিজেই একজন সদস্য। আমরা অবজেক্টের সর্বজনীন সদস্যদের উপর সাইকেল চালিয়ে এটি আরও নিশ্চিত করতে পারি:
for (var prop in array)
console.log(prop, array[prop]);
যা নীচে ছিটকে:
0 Foo
1 Bar
-1 Fizzbuzz
তাই আবার, এটা উপর বস্তু , কিন্তু এটা না যে অ্যারে ।
অসাধারণ প্রশ্ন! নিশ্চিত হয়ে আমাকে ডাবল-টেক করার কারণ দিয়েছে।