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. JavaScript Arrays: Intermediate (অ্যারে)
JavaScriptIntermediate

JavaScript Arrays: Intermediate (অ্যারে)

map, filter, find, findIndex, some, every, includes, indexOf, reduce, slice/splice, spread, destructuring, sort, nested array — বাংলা গাইড।

32টি অংশবাংলা ভাষায়

এবার অ্যারের সবচেয়ে দরকারি বিল্ট-ইন মেথডগুলো দেখি। এগুলো functional প্রোগ্রামিং-এর মূল হাতিয়ার — লুপ কমে, কোড readable হয়।

map

const prices = [100, 250, 300];

const withVat = prices.map(p => p * 1.15);

console.log(withVat); // [115, 287.5, 345]
console.log(prices);  // [100, 250, 300] — মূল অপরিবর্তিত

map() প্রতিটি element-এর জন্য callback চালিয়ে একটি নতুন array দেয়। মূল array বদলায় না।

filter

const prices = [100, 250, 300, 150];

const onSale = prices.filter(p => p < 250);

console.log(onSale); // [100, 150]

filter() শর্ত (true) মেনে যাওয়া element-গুলো নিয়ে নতুন array বানায়।

find ও findIndex

const prices = [100, 250, 300, 150];

const found = prices.find(p => p === 300);
console.log(found); // 300 (প্রথম মিলে যাওয়া মান)

const i = prices.findIndex(p => p === 300);
console.log(i); // 2 (সূচক)

console.log(prices.find(p => p === 999)); // undefined

some ও every

const scores = [70, 85, 90];

const anyFail = scores.some(s => s < 40);   // কোনো একটা ৪০-এর নিচে?
const allPass = scores.every(s => s >= 40); // সবগুলো কি পাশ?

console.log(anyFail);  // false
console.log(allPass);  // true

includes ও indexOf

const fruits = ["আম", "কলা", "কমলা"];

console.log(fruits.includes("কলা")); // true
console.log(fruits.includes("লিচু")); // false

console.log(fruits.indexOf("কলা"));  // 1
console.log(fruits.indexOf("লিচু"));  // -1 (খুঁজে পাওয়া যায়নি)

reduce

const numbers = [10, 20, 30];

const total = numbers.reduce((sum, n) => sum + n, 0);

console.log(total); // 60

reduce() সব element মিলিয়ে একটি ফলাফল দেয়। প্রথম argument (এখানে 0) হলো initial value, প্রতিবার callback-এর result পরের iteration-এ sum হিসেবে যায়।

slice বনাম splice

const fruits = ["আম", "কলা", "কমলা", "লিচু"];

const sliced = fruits.slice(1, 3); // নতুন array: ["কলা", "কমলা"]
console.log(sliced);
console.log(fruits); // মূল অপরিবর্তিত

const removed = fruits.splice(1, 2, "আঙুর"); // ১ থেকে ২টি বাদ, জায়গায় "আঙুর"
console.log(removed); // ["কলা", "কমলা"]
console.log(fruits);  // ["আম", "আঙুর", "লিচু"]

`slice` একটি নতুন array দেয় (মূল অপরিবর্তিত), আর `splice` মূল array-কেই বদলায় — বাদ ও যোগ দুটোই করে।

concat ও spread

const a = [1, 2];
const b = [3, 4];

const c = a.concat(b);
const d = [...a, ...b];

console.log(c); // [1, 2, 3, 4]
console.log(d); // [1, 2, 3, 4]

const copy = [...a]; // অনুলিপি
copy.push(99);
console.log(a);    // [1, 2] — মূল অপরিবর্তিত
console.log(copy); // [1, 2, 99]

Destructuring

const [first, second, ...rest] = [10, 20, 30, 40];

console.log(first);  // 10
console.log(second); // 20
console.log(rest);   // [30, 40]

const [, , third] = [10, 20, 30, 40];
console.log(third);  // 30 (ফাঁকা জায়গা দিয়ে স্কিপ)

sort ও reverse

const nums = [3, 1, 10, 2];

const sorted = [...nums].sort((x, y) => x - y);
console.log(sorted); // [1, 2, 3, 10]

// spread না করে সরাসরি sort করলে মূল array-ও বদলায়!
const reversed = [...nums].reverse();
console.log(reversed); // [2, 10, 1, 3]

sort() ডিফল্টে string হিসেবে সাজায় — তাই সংখ্যার জন্য comparator function ((x, y) => x - y) বাধ্যতামূলক। sort() ও reverse() মূল array-কে বদলায়।

Nested array (মাল্টি-ডাইমেনশনাল)

const matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
];

console.log(matrix[0][1]); // 2
console.log(matrix[2][0]); // 7

const flat = matrix.flat();
console.log(flat); // [1, 2, 3, 4, 5, 6, 7, 8, 9]

Array of objects

const products = [
  { id: 1, name: "মোবাইল", price: 15000 },
  { id: 2, name: "ল্যাপটপ", price: 65000 },
  { id: 3, name: "হেডফোন", price: 2000 },
];

const names = products.map(p => p.name);
console.log(names); // ["মোবাইল", "ল্যাপটপ", "হেডফোন"]

const cheap = products.filter(p => p.price < 10000);
console.log(cheap.map(p => p.name)); // ["হেডফোন"]

const total = products.reduce((sum, p) => sum + p.price, 0);
console.log(total); // 82000
মেথডকাজফলাফল
map()প্রতিটি element রূপান্তরনতুন array
filter()শর্ত মেনে বেছে নেয়নতুন array
find()প্রথম মিলে যাওয়া মানমান / undefined
findIndex()প্রথম মিলের সূচকসংখ্যা / -1
some()কোনো একটিও শর্ত মানে?true / false
every()সবগুলো শর্ত মানে?true / false
includes()আছে কি নাtrue / false
indexOf()মানের সূচকসংখ্যা / -1
reduce()সব মিলিয়ে এক ফলাফলযেকোনো মান
slice()অংশ নিয়ে নতুন arrayনতুন array
splice()বাদ/যোগ (মূল বদলায়)বাদ-পড়া array
concat() / spreadarray জোড়ানতুন array
sort() / reverse()সাজানো / উল্টানোমূল array (mutate)
চেইন করুন, বুদ্ধিমানের মতো

products.filter(...).map(...).reduce(...) — মেথডের পর মেথড জুড়ে দিলে এক লাইনে অনেক কাজ হয়। এর জাদু দেখুন advanced chapter-এ।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরJavaScript Arrays: Basics (অ্যারে)পরেরJavaScript Arrays: Advanced (অ্যারে)
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com