array.keys() — অ্যারে কী (ইনডেক্স) এর ইটারেটর
Array.prototype.keys() মেথড একটি নতুন Array Iterator অবজেক্ট রিটার্ন করে যেটিতে অ্যারে-এর সকল ইনডেক্স (কী) থাকে। এটি মান (values) নয়, শুধু ইনডেক্স দেয়।
সিনট্যাক্স
array.keys()
প্যারামিটার নেয় না। রিটার্ন মান: IterableIterator<number>।
ব্যবহার উদাহরণ
উদাহরণ ১: স্ট্রিং অ্যারে-এর ইনডেক্স প্রিন্ট
const arrStud = ["Crossover", "Convertible", "Hatchback", "SUV"];
const iterator = arrStud.keys();
for (const index of iterator) {
console.log(index); // 0, 1, 2, 3
}
উদাহরণ ২: নম্বর অ্যারে এবং বাটন ক্লিকে ইনডেক্স দেখানো
const pointsArr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 1000];
function displayKeys() {
const iterator = pointsArr.keys();
const output = document.getElementById('output');
output.innerHTML = ''; // ক্লিয়ার
for (const index of iterator) {
output.innerHTML += index + '
';
}
// আউটপুট: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (প্রতিটি নতুন লাইনে)
}
গুরুত্বপূর্ণ বৈশিষ্ট্য
- হোল (sparse arrays) হ্যান্ডলিং: খালি স্লটের ইনডেক্সও রিটার্ন করে।
const sparse = [1, , 3]; // ইনডেক্স ১ খালি
[...sparse.keys()]; // [0, 1, 2] — খালি স্লটও গिना जाता है
keys() আবার কল করুন।const indices = [...arr.keys()]; // [0, 1, 2, ...]
const indices2 = Array.from(arr.keys());
সম্পর্কিত মেথড তুলনা
| মেথড | রিটার্ন করে | উদাহরণ |
|---|---|---|
keys() | ইনডেক্স (০, ১, ২...) | [...['a','b'].keys()] → [0,1] |
values() | এলিমেন্ট মান | [...['a','b'].values()] → ['a','b'] |
entries() | [ইনডেক্স, মান] পেয়ার | [...['a','b'].entries()] → [[0,'a'],[1,'b']] |
ব্রাউজার সাপোর্ট
সকল আধুনিক ব্রাউজার (Chrome, Firefox, Edge, Safari) এবং Node.js ০.১২+ এ সমর্থিত। IE-এ নেই (পলিফিল দরকার)।
ব্যবহারিক টিপস
- শুধু ইনডেক্স দরকার হলে
keys()ব্যবহার করুন,for (let i=0; i-এর চেয়ে ক্লিন। for...ofলুপে সরাসরি ব্যবহার করুন।- অ্যারে হোল (sparse) থাকলে
keys()হোলের ইনডেক্সও দেবে,Object.keys(arr)শুধু মূর্ত প্রপার্টি দেবে।