ব্যবহার for...in
একটি অ্যারের জন্য লুপ ভুল নয়, যদিও আমি অনুমান করতে পারেন কেন কেউ তোমাকে বলেছিলাম যে:
১) ইতিমধ্যে একটি উচ্চতর অর্ডার ফাংশন বা পদ্ধতি রয়েছে যার একটি অ্যারের জন্য সেই উদ্দেশ্য রয়েছে তবে এতে আরও কার্যকারিতা এবং লেনার সিনট্যাক্স রয়েছে, যাকে 'ফর ইচ' বলা হয়: Array.prototype.forEach(function(element, index, array) {} );
2.) অ্যারেগুলির সবসময় একটি দৈর্ঘ্য আছে, কিন্তু for...in
এবং forEach
যে কোনো মান জন্য একটি ফাংশন চালানো না 'undefined'
, শুধুমাত্র ইনডেক্স সংজ্ঞায়িত একটি মান আছে জন্য। সুতরাং আপনি যদি কেবল একটি মান নির্ধারণ করেন তবে এই লুপগুলি কেবল একবার একটি ফাংশন সম্পাদন করবে, তবে যেহেতু একটি অ্যারে অঙ্কিত হয়, এটির সর্বদা সর্বোচ্চ সূচকের দৈর্ঘ্য থাকবে যার একটি নির্ধারিত মান রয়েছে তবে এইগুলি ব্যবহার করার সময় সেই দৈর্ঘ্যটি লক্ষ করা যায় না লুপ।
৩) লুপের মানটি প্যারামিটারগুলিতে যতবার সংজ্ঞায়িত হয় ততবার একটি ফাংশন সম্পাদন করবে এবং যেহেতু একটি অ্যারে সংখ্যাযুক্ত, তাই আপনি কতবার একটি ফাংশন সম্পাদন করতে চান তা নির্ধারণ করতে এটি আরও অর্থবোধ করে। অন্যান্য লুপগুলির বিপরীতে, ফর লুপটি তখন অ্যারের প্রতিটি সূচির জন্য একটি ক্রিয়াকলাপ চালাতে পারে, মান নির্ধারিত হয় কিনা whether
সংক্ষেপে, আপনি যে কোনও লুপ ব্যবহার করতে পারেন তবে সেগুলি কীভাবে কাজ করে তা আপনার অবশ্যই মনে রাখা উচিত। বিভিন্ন লুপগুলি পুনরায় কীভাবে শর্ত দেয় সেগুলি, তাদের পৃথক কার্যকারিতা বুঝুন এবং উপলব্ধি করুন যে তারা পৃথক পৃথক পরিস্থিতির জন্য কমবেশি উপযুক্ত হবে।
এছাড়াও, সাধারণভাবে লুপের forEach
চেয়ে পদ্ধতিটি ব্যবহার করা আরও ভাল অনুশীলন হিসাবে বিবেচিত হতে পারে for...in
, কারণ এটি লেখার পক্ষে সহজ এবং আরও কার্যকারিতা রয়েছে, তাই আপনি কেবল এই পদ্ধতিটি এবং স্ট্যান্ডার্ডের জন্য ব্যবহার করতে অভ্যস্ত হতে পারেন, তবে আপনার কল করুন।
নীচে দেখুন যে প্রথম দুটি লুপগুলি কেবল একবার কনসোল.লগ স্টেটমেন্টগুলি সম্পাদন করে, যখন লুপের মানটি এই ক্ষেত্রে অ্যারে.এলনেথ = 6 হিসাবে নির্দিষ্ট হিসাবে ফাংশনটি নির্ধারিত হিসাবে বহুবার কার্যকর করে।
var arr = [];
arr[5] = 'F';
for (var index in arr) {
console.log(index);
console.log(arr[index]);
console.log(arr)
}
// 5
// 'F'
// => (6) [undefined x 5, 6]
arr.forEach(function(element, index, arr) {
console.log(index);
console.log(element);
console.log(arr);
});
// 5
// 'F'
// => Array (6) [undefined x 5, 6]
for (var index = 0; index < arr.length; index++) {
console.log(index);
console.log(arr[index]);
console.log(arr);
};
// 0
// undefined
// => Array (6) [undefined x 5, 6]
// 1
// undefined
// => Array (6) [undefined x 5, 6]
// 2
// undefined
// => Array (6) [undefined x 5, 6]
// 3
// undefined
// => Array (6) [undefined x 5, 6]
// 4
// undefined
// => Array (6) [undefined x 5, 6]
// 5
// 'F'
// => Array (6) [undefined x 5, 6]