Array তৈরি ও Access
// তৈরি
let fruits = ["আম", "জাম", "লিচু"];
let numbers = [1, 2, 3, 4, 5];
let mixed = [1, "hello", true, null];
// Access
fruits[0] // "আম"
fruits[fruits.length - 1] // শেষ element
fruits.at(-1) // "লিচু" (ES2022)
// Length
fruits.length // 3
// পরিবর্তন
fruits[1] = "পেয়ারা";
Mutating Methods (array পরিবর্তন করে)
let arr = [1, 2, 3];
arr.push(4); // শেষে যোগ: [1,2,3,4]
arr.pop(); // শেষেরটা সরায়: [1,2,3]
arr.unshift(0); // শুরুতে যোগ: [0,1,2,3]
arr.shift(); // শুরুরটা সরায়: [1,2,3]
arr.splice(1, 1); // index 1 থেকে ১টি মুছে: [1,3]
arr.splice(1, 0, "new"); // index 1 এ যোগ: [1,"new",3]
arr.sort(); // sorted (default: string)
arr.sort((a,b) => a-b); // ascending number
arr.sort((a,b) => b-a); // descending
arr.reverse(); // উল্টো
Non-Mutating Methods (নতুন array return করে)
let nums = [1, 2, 3, 4, 5];
// map — প্রতিটি element রূপান্তর
let doubled = nums.map(n => n * 2);
// [2, 4, 6, 8, 10]
// filter — শর্ত অনুযায়ী রাখে
let evens = nums.filter(n => n % 2 === 0);
// [2, 4]
// reduce — একটি single value এ নামিয়ে আনে
let sum = nums.reduce((total, n) => total + n, 0);
// 15
// forEach — শুধু loop (return নেই)
nums.forEach(n => console.log(n));
// find — প্রথম match
let found = nums.find(n => n > 3);
// 4
// findIndex
let idx = nums.findIndex(n => n > 3);
// 3
// some — কোনো একটি শর্ত পূরণ করে?
nums.some(n => n > 4); // true
// every — সবগুলো শর্ত পূরণ করে?
nums.every(n => n > 0); // true
// includes
nums.includes(3); // true
nums.indexOf(3); // 2
// join
["a","b","c"].join("-"); // "a-b-c"
// concat / spread
[1,2].concat([3,4]); // [1,2,3,4]
[...[1,2], ...[3,4]]; // [1,2,3,4]
// slice (copy অংশ)
nums.slice(1, 3); // [2, 3]
// flat (nested array সমতল করে)
[1, [2, [3, [4]]]].flat(2); // [1, 2, 3, [4]]
Chaining
let result = [1, 2, 3, 4, 5, 6]
.filter(n => n % 2 === 0) // [2, 4, 6]
.map(n => n * 10) // [20, 40, 60]
.reduce((a, b) => a + b); // 120
Destructuring
let [first, second, ...rest] = [1, 2, 3, 4, 5];
console.log(first); // 1
console.log(rest); // [3, 4, 5]
// Swap
let a = 1, b = 2;
[a, b] = [b, a];
// a=2, b=1