কম্পিউটার টিউটোরিয়াল

JavaScript-এ অ্যারে থেকে 0, undefined, null এবং খালি মান রিমুভ করা

JavaScript-এ ফলসি (falsy) মানগুলো (`0`, `false`, `''`, `null`, `undefined`, `NaN`) অ্যারে থেকে রিমুভ করার জন্য `splice()` বা `filter()` ব্যবহার করা হয়।

সplice() পদ্ধতি (মিউটেট করে)

var values = [10, false, 100, 150, '', undefined, 450, null];

for (let i = 0; i < values.length; i++) {
    if (!values[i]) { // falsy চেক
        values.splice(i, 1);
        i--; // ইনডেক্স ঠিক রাখতে
    }
}

console.log(values); // [10, 100, 150, 450]

চলানোর পদ্ধতি

  1. কোডটি removeFalsy.js নামে সংরক্ষণ করুন।
  2. টার্মিনালে চালান: node removeFalsy.js

আউটপুট

Actual Array= [ 10, false, 100, 150, '', undefined, 450, null ]
After removing: [ 10, 100, 150, 450 ]

⚠️ সমস্যা: 0 ও false ও রিমুভ হয়ে যায়

উপরের কোড `0` এবং `false` কেও রিমুভ করে, যা কাঙ্খিত নাও হতে পারে।

ফিল্টার পদ্ধতি (নন-মিউটেটিং, নির্বাচনাত্মক)

const arr = [10, false, 100, 150, '', undefined, 450, null, 0, NaN];

// শুধু null, undefined, '' রিমুভ (0, false রাখো)
const clean1 = arr.filter(v => v !== null && v !== undefined && v !== '');
// [10, false, 100, 150, 450, 0]

// শুধু "খালি" মানের মানে null/undefined/''
const clean2 = arr.filter(v => v != null && v !== ''); // loose equality
// [10, false, 100, 150, 450, 0]

// সব falsy রিমুভ (0, false, NaN ও চলে যাবে)
const clean3 = arr.filter(Boolean);
// [10, 100, 150, 450]

স্পেশাল কেস: NaN হ্যান্ডলিং

[1, NaN, 2].filter(v => v === v); // [1, 2] (NaN !== NaN)
[1, NaN, 2].filter(Number.isFinite); // [1, 2]

সারাংশ

চায়কোড
শুধু null/undefined/''`arr.filter(v => v != null && v !== '')`
সব falsy (0, false, NaN)`arr.filter(Boolean)`
শুধু NaN`arr.filter(v => v === v)`
মূল অ্যারে মিউটেটfor loop + splice (i--)
  1. জাভাস্ক্রিপ্টে অ্যারের প্রথম এলিমেন্ট সরিয়ে রিটার্ন করার উপায়

  2. জাভাস্ক্রিপ্ট অ্যারে থেকে ভ্যালু দিয়ে আইটেম রিমুভ করা

  3. জাভাস্ক্রিপ্টে অ্যারে থেকে ফলস (false) মানগুলো সরানোর পদ্ধতি

  4. জাভাস্ক্রিপ্ট array.values() মেথড