Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. প্রশ্ন/উত্তর
  4. Arrays & Objects
  5. Q18. What is the difference between map(), filter(), and reduce()?
JavaScriptArrays & Objects

Q18. What is the difference between map(), filter(), and reduce()?

তিনটি array method কখন কোনটি ব্যবহার হয়, ফলাফল কেমন হয় — উদাহরণসহ।

তিনটিই array-এর উপর কাজ করে, কিন্তু ফলাফল আলাদা। map() প্রতিটি element বদলে নতুন array ফেরত দেয়, filter() কিছু element বেছে নিয়ে নতুন array দেয়, আর reduce() সব element মিলিয়ে একটি একক মান বের করে।

তিনটি একসাথেjavascript
javascript
const numbers = [1, 2, 3, 4, 5];

// map — প্রতিটি element বদলায়, দৈর্ঘ্য একই থাকে
const doubled = numbers.map((n) => n * 2);

// filter — শর্ত পূরণ করলে রাখে, বাদ দেয়
const evens = numbers.filter((n) => n % 2 === 0);

// reduce — সব মিলিয়ে একটি মান
const total = numbers.reduce((sum, n) => sum + n, 0);

ধাপে ধাপে — map প্রতিটি সংখ্যাকে ২ দিয়ে গুণ করে নতুন array বানায়, তাই ফলাফল ছয়টি element। filter শুধু ২ ও ৪ রাখে। আর reduce যোগ করতে করতে শেষে একটাই সংখ্যায় পৌঁছায়।

ফলাফলjavascript
javascript
console.log(doubled); // [2, 4, 6, 8, 10]
console.log(evens);   // [2, 4]
console.log(total);   // 15

reduce এর accumulator-এর প্রাথমিক মান (0) না দিলে প্রথম element-ই accumulator হয়ে যায় — সংখ্যা যোগ করার কাজে সবসময় 0 দিয়ে শুরু করা নিরাপদ।

reduce আরও উদাহরণjavascript
javascript
const words = ["JavaScript", "is", "fun"];

const sentence = words.reduce(function (acc, word) {
  return acc + " " + word;
}, "").trim();

console.log(sentence); // "JavaScript is fun"

তিনটি method-ই চেইন করা যায়, আর চেইন করলে মাঝের প্রতিটি ধাপের ফলাফল পরের ধাপে চলে যায়।

চেইনjavascript
javascript
const users = [
  { name: "Rahim", age: 25 },
  { name: "Karim", age: 17 },
  { name: "Jamal", age: 30 },
];

const result = users
  .filter((user) => user.age >= 18)
  .map((user) => user.name);

console.log(result); // ["Rahim", "Jamal"]
Methodফলাফলযখন ব্যবহার করবেন
map()নতুন array, একই দৈর্ঘ্যপ্রতিটি element বদলাতে
filter()ছোট বা সমান arrayকিছু element বেছে নিতে
reduce()একটি একক মানসব মিলিয়ে হিসাব করতে
find()একটি element বা undefinedপ্রথম মিল পাওয়া পর্যন্ত থামতে
some() / every()booleanশর্ত যাচাই করতে
সতর্কতা

map, filter, reduce মূল array বদলায় না — নতুন array ফেরত দেয়। তাই arr.filter(...) এর ফলাফল ছাড়া পরে arr নিজে থেকে পরিবর্তিত হয় না, বরং ফলাফলটা নতুন variable-এ রাখতে হয়।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
Arrays & Objects বিভাগের আরও প্রশ্নJavaScript প্রশ্ন/উত্তর
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com