TypeError: object.forEach জাভাস্ক্রিপ্টে একটি ফাংশন নয়

Typeerror Object Foreach Jabhaskripte Ekati Phansana Naya



জাভাস্ক্রিপ্টে, ' প্রতিটির জন্য() ” পদ্ধতি প্রতিটি অ্যারে উপাদানের জন্য একবার একটি প্রদত্ত ফাংশন চালায়। প্রতিটি অ্যারে, সেট বা মানচিত্রের উপাদানগুলিতে forEach() পদ্ধতি ব্যবহার করা হয়। আপনি যদি এই পদ্ধতিটি অন্য কোনও প্রকারে ব্যবহার করার চেষ্টা করেন তবে এটি একটি ত্রুটি নিক্ষেপ করবে ' object.forEach জাভাস্ক্রিপ্টের একটি ফাংশন নয় ” সুতরাং, এটিকে অ্যারে, মানচিত্র বা সেটগুলিতে ব্যবহার করুন বা মানগুলিকে এই ধরণেরগুলিতে রূপান্তর করুন এবং তারপরে এই পদ্ধতিটি প্রয়োগ করুন৷

এই নিবন্ধটি উল্লিখিত ত্রুটি এবং এর সম্ভাব্য সমাধানগুলিকে সংজ্ঞায়িত করবে।

কিভাবে 'TypeError: object.forEach জাভাস্ক্রিপ্টে একটি ফাংশন নয়' ঘটে?

যখন অ্যারে, মানচিত্র বা সেট নয় এমন একটি মান ব্যবহার করা হয়, তখন “ প্রতিটির জন্য() 'পদ্ধতি যেমন ' অবজেক্ট ' এবং তাই, ' TypeError: object.forEach জাভাস্ক্রিপ্টে একটি ফাংশন নয় ” ঘটে। ব্যবহারিকভাবে বর্ণিত কারণ পরীক্ষা করা যাক।







উদাহরণ

প্রদত্ত উদাহরণে, প্রথমে, আমরা কী-মান জোড়ায় এর বৈশিষ্ট্য সহ একটি বস্তু তৈরি করব:



const বস্তু = {

নাম : 'স্টিফেন' ,

ক্রমিক নাম্বার : এগারো ,

বিষয় : 'বাণিজ্য'

} ;

তারপর, forEach() পদ্ধতি ব্যবহার করে কনসোলে এর বৈশিষ্ট্য/এন্ট্রি মুদ্রণ করুন:



বস্তু প্রতিটির জন্য ( => {

কনসোল লগ ( ) ;

} ) ;

আপনি আউটপুটে দেখতে পাচ্ছেন, একটি ত্রুটির সম্মুখীন হয়েছে কারণ forEach পদ্ধতি অবজেক্টের জন্য প্রযোজ্য নয়:





কিভাবে নির্দিষ্ট ত্রুটি ঠিক করবেন?

উপরে আলোচিত ত্রুটি সমাধান করতে, অবজেক্টের পদ্ধতিগুলি ব্যবহার করুন যেমন ' Object.keys() 'একটি অ্যারেতে কী পেতে, ' Object.values() বস্তুর মান পাওয়ার জন্য, অথবা ' Object.entries() একটি বস্তুর সমস্ত এন্ট্রি পুনরুদ্ধার করার জন্য। তাছাড়া, ' Array.from() ” পদ্ধতি নির্দিষ্ট বস্তুকে অবজেক্টের অ্যারেতে রূপান্তর করে।



আসুন এই সমস্যাটি সমাধান করার জন্য একটি উদাহরণ চেষ্টা করুন।

উদাহরণ 1: একটি Object.entries() পদ্ধতি ব্যবহার করে উল্লেখিত ত্রুটিটি ঠিক করুন

এই উদাহরণে, আমরা ' ব্যবহার করে একটি বস্তুর এন্ট্রি পাব Object.entries() 'সহ পদ্ধতি' প্রতিটির জন্য() ' পদ্ধতি যা কী-মান জোড়ায় বস্তুর এন্ট্রিগুলির একটি অ্যারে প্রদান করে:

অবজেক্ট . এন্ট্রি ( বস্তু ) . প্রতিটির জন্য ( ভিতরে => {

কনসোল লগ ( ভিতরে ) ;

} ) ;

এটি একটি ত্রুটি দেবে না, কারণ Object.entries() পদ্ধতিটি একটি অ্যারের মানগুলিকে রূপান্তর করে এবং প্রতিটি উপাদানে প্রদত্ত ফাংশনটি কার্যকর করতে forEach() পদ্ধতি ব্যবহার করা হয়।

আউটপুট নির্দেশ করে যে forEach() পদ্ধতি সফলভাবে Object.entries() পদ্ধতি ব্যবহার করে অবজেক্টে চালানো হয়েছে:

বিঃদ্রঃ: forEach পদ্ধতি Object.keys() এবং Object.values() পদ্ধতি ব্যবহার করে একটি বস্তুর কী এবং মান পাওয়ার জন্যও প্রয়োগ করা হয়।

এখন, দেখা যাক আপনি যদি কোনো বস্তুর কী, মান বা এন্ট্রি পেতে না চান, তাহলে আপনি কী করবেন? প্রদত্ত উদাহরণ দেখুন!

উদাহরণ 2: Array.from() পদ্ধতি ব্যবহার করে উল্লেখিত ত্রুটি ঠিক করুন

এই ত্রুটিটি ঠিক করতে, অবজেক্টটিকে অবজেক্টের অ্যারেতে রূপান্তর করুন এবং তারপরে এটি ব্যবহার করে forEach() পদ্ধতি প্রয়োগ করুন “ Array.from() 'পদ্ধতি। এটি একটি ত্রুটি না দিয়ে একটি বস্তুর সমস্ত বৈশিষ্ট্য প্রিন্ট করবে।

প্রথমে অবজেক্টটিকে অবজেক্টের অ্যারেতে রূপান্তর করা যাক:

const বস্তু = [ {

নাম : 'স্টিফেন' ,

ক্রমিক নাম্বার : এগারো ,

বিষয় : 'বাণিজ্য'

} ]

forEach() পদ্ধতিতে কল করুন:

অ্যারে . থেকে ( বস্তু ) . প্রতিটির জন্য ( => {

কনসোল লগ ( ) ;

} ) ;

আউটপুট

আমরা নির্দিষ্ট ত্রুটি ঠিক করার জন্য সম্ভাব্য সব সেরা সমাধান কম্পাইল করেছি।

উপসংহার

উল্লেখিত ত্রুটিটি ঘটে যখন আপনি ব্যবহার করার চেষ্টা করেন ' প্রতিটির জন্য() ” একটি মানের উপর পদ্ধতি যা একটি অ্যারে, সেট বা মানচিত্র নয়। এই ত্রুটিটি ঠিক করতে, ' Array.from() ' পদ্ধতি অবজেক্টটিকে একটি অ্যারেতে রূপান্তর করুন এবং তারপরে এটিতে forEach() পদ্ধতি ব্যবহার করুন। এই নিবন্ধটি উল্লেখিত ত্রুটির ঘটনা এবং সমাধান বর্ণনা করেছে।