৮ টি মারাত্মক জাভাস্ক্রিপ্ট অ্যারে মেথড🤔
১ । ফিল্টার:
filter() মেথড মূলত একটা অ্যারে থেকে কন্ডিশনের উপরে বেস করে আসল অ্যারের সাব ইলিমেন্ট নিয়ে নতুন আরেকটা অ্যারে বানিয়ে দেয় ।
ধরুন আমাদের দেশের সবগুলো বিভাগের নাম এবং জনসংখ্যা নিয়ে একটা অ্যারে অফ অবজেক্ট বানাইলাম । এখন আমরা চাইতেছি যেই বিভাগ গুলোতে ১১০০০০০০ এর বেশি জনসংখ্যা আছে সেইগুলোকে আলাদা করতে । তাহলে আমরা কি করতে পারি ? একটা লুপ চালিয়ে কাজটা সেরে ফেলতে পারি
ঠিক এইভাবে ।
জাভাস্ক্রিপ্টের ফিল্টার মেথড ঠিক এই কাজটাই আমাদেরকে অনেক সহজ এবং পরিষ্কার ভাবে করে দিচ্ছে । 😎
উপরের উদাহরণে আমরা cities নামক অ্যারে অফ অবজেক্টের উপর ফিল্টার চালাচ্ছি এবং প্রতিটা আইটেমকে চেক করে দেখতেছি তার population ১১০০০০০০ এর বেশি কিনা। যদি বেশি থাকে তাহলে True রিটার্ন করতেছে এবং আইটেমটা নতুন অ্যারে তে ষ্টোর হচ্ছে ।
ফিল্টার মেথড মূলত কিভাবে কাজ করে ?
ফিল্টার মেথড ২টা প্যারামিটার নেয় একটা কলব্যাক ফাংশন এবং আরেকটা অপশনাল অবজেক্ট ।
ইন্টারনালি ফিল্টার মেথড অ্যারের প্রতিটা ইলিমেন্টের উপর ইটারেট করে এবং ইলিমেন্টকে কলব্যাক ফাংশনে পাস করে । কলব্যাক ফাংশন যদি true রিটার্ন করে তাহলে ইলিমেন্টটাকে রিটার্ন অ্যারে তে দিয়ে দেয় ।
২। Map
এই মেথড ব্যাবহার করে খুব সহজেই আমারা অ্যারের ইলিমেন্টগুলোর উপর ইটারেট করে নতুন একটা অ্যারে বানাতে পারি। উদাহরণস্বরূপ আমরা যদি cities অ্যারে থেকে শুধুমাত্র name নিয়ে একটা অ্যারে বানাতে চাই তাহলে এই কাজটা আমরা ম্যাপের মাধ্যমে খুব সহজেই করে ফেলতে পারি ।
ম্যাপ আর ফিল্টারের মাঝে পার্থক্য কোথায় ? 🤔
ম্যাপ অরিজিনাল অ্যারে তে যতগুলো ইলিমেন্ট থাকবে ততোগুলোই ইলিমেন্ট রিটার্ন করবে কিন্তু ইলিমেন্টের ভ্যালু গুলো পরিবর্তন হতে পারে।
কিন্তু ফিল্টার মেথড অরিজিনাল অ্যারে তে যতগুলো ইলিমেন্ট থাকবে ঠিক ততোগুলো ইলিমেন্ট বা তার থেকে কম ইলিমেন্ট রিটার্ন করতে পারে তবে ইলিমেন্টগুলোর ভ্যালু পরিবর্তন হবে না।
৩ । Find
find() ম্যাথড ব্যাবহার করে আমরা একটা অ্যারে থেকে সিঙ্গেল আইটেম খুঁজে বের করতে পারি । এই ম্যাথড true বা false স্টেটমেন্টের উপর ভিত্তি করে শুদুমাত্র প্রথম ম্যাচিং ইলিমেন্টাই রিটার্ন করে ।
৪। Some
some() অনেকটা find() এর মতই । find() মেথড কন্ডিশনের উপর নির্ভর করে অ্যারে থেকে আইটেম টা রিটার্ন করে দেয় আর some () কন্ডিশনের উপর নির্ভর করে true অথবা false রিটার্ন করে ।
৫। Every
every() এবং some () দুইটাই কন্ডিশনের উপরে নির্ভর করে True অথবা false রিটার্ন করে । তবে পার্থক্য হল some() এ কোন কন্ডিশন true হলেই সাথে সাথে রিটার্ন করে দেয় বাকি আইটেম গুলো আর চেক করে না কিন্তু every() অ্যারের প্রতিটা আইটেমই চেক করে যদি কোন কন্ডিশন ফেইল হয় তাহলে false রিটার্ন করে দেয় ।
৬। Reduce
Reduce মূলত একটা অ্যারের উপর ইটারেট করে তার আইটেম গুলোর একটা একুমুলেটেট ভ্যালু বের করে দেয় । ধরা যাক আমরা cities অ্যারে থেকে সবগুলো city এর মোট জনসংখ্যা বের করতে চাই ।
৭। Includes
includes মূলত চেক করে একটা অ্যারে তে কোন value আছে কিনা । প্যারামিটার হিসেবে একটা ইনপুট নিবে এবং চেক করে দেখবে অ্যারেতে আছে কিনা যদি থাকে তাহলে true রিটার্ন করবে অন্যথায় false রিটার্ন করবে
৮। forEach
forEach জাভাস্ক্রিপ্টের ফর লুপের মতই কিন্তু এইটা কোন অ্যারে রিটার্ন করে না। জাস্ট আমরা অ্যারের সবগুলা ইলিমেন্টের উপর ইটারেট করতে পারি
এইটার উদাহরণ নিজ দায়িত্বে বানিয়ে নেন 🤣
আজকে এই পর্যন্তই ।
হ্যাপি কোডিং💖❤