Header Ads

Header ADS

Lodash Module




🔷 Lodash কি?

লডাশ (Lodash) একটি বাইরের মডিউল (external module)। এটি একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা বিভিন্ন ইউটিলিটি ফাংশন প্রদান করে .

👉 এটা মূলত array, object, string, number, function ইত্যাদি নিয়ে কাজ করার জন্য অনেক ধরনের function দেয় — যেগুলো native JavaScript এ করতে অনেক সময় লাগে বা কোড জটিল হয়।


🔧 Installation:

npm install lodash

✅ Commonly Used Lodash Functions:

Category Function Description
Array _.chunk() Array কে ছোট ছোট অংশে ভাগ করে
Array _.uniq() ডুপ্লিকেট রিমুভ করে
Object _.cloneDeep() Deep clone করে object এর
Object _.merge() দুইটা object merge করে
Collection _.filter() Array/Object থেকে filter করে
Function _.debounce() Delay করে function call
String _.capitalize() প্রথম অক্ষর capital করে
Utility _.isEmpty() চেক করে empty কিনা

✨ উদাহরণ:

const _ = require('lodash');

let arr = [1, 2, 2, 3, 4, 4, 5];

console.log(_.uniq(arr)); // [1, 2, 3, 4, 5]
console.log(_.chunk(arr, 2)); // [[1,2],[2,3],[4,4],[5]]

let user = { name: 'Ali', details: { age: 22 } };
let clone = _.cloneDeep(user);

console.log(clone); // সম্পূর্ণ object কপি

💡 কেন ব্যবহার করব?

  1. কোড clean, readable ও concise হয়

  2. Common utility functions নিজে বানাতে হয় না

  3. Bug কম হয়

  4. Production-level অনেক বড় projects-এ widely used


📦 Alternatives:

  1. Vanilla JS (ES6+)

  2. Ramda

  3. Underscore.js


✨ More Examples :

🔐 1. JWT Auth বা User Login এর সময়:

_.isEmpty() – Check করো যে ফর্ম ইনপুট খালি কিনা:

const _ = require('lodash');

if (_.isEmpty(req.body.username) || _.isEmpty(req.body.password)) {
    return res.status(400).json({ message: "Username or password missing!" });
}

👥 2. User Object থেকে only প্রয়োজনীয় info রাখা (ডাটাবেজে Save করার আগে):

_.pick() – কিছু নির্দিষ্ট key retain করা:

let user = {
  username: "Ali",
  password: "secret",
  role: "admin"
};

let filteredUser = _.pick(user, ['username', 'role']);
console.log(filteredUser); // { username: 'Ali', role: 'admin' }

📊 3. Multiple User Filtering:

_.filter() – অনেক user থেকে condition অনুযায়ী filter করা:

let users = [
  { name: "Ali", active: true },
  { name: "Hridoy", active: false }
];

let activeUsers = _.filter(users, { active: true });
console.log(activeUsers); // [{ name: "Ali", active: true }]

🧠 4. Debounce (Typing input delay করে server hit কমানো):

_.debounce() – Search box টাইম delay:

const debounceSearch = _.debounce(function (searchText) {
    console.log("Searching for:", searchText);
}, 500);

debounceSearch("hello");

🔂 5. Clone বা Object Merge:

_.merge() বা _.cloneDeep():

let obj1 = { user: { name: "Ali" } };
let copy = _.cloneDeep(obj1);

let obj2 = { user: { age: 24 } };
let merged = _.merge(obj1, obj2);

console.log(merged); // { user: { name: 'Ali', age: 24 } }

✅ Suggestion:

তুমি যদি:

  1. Authentication project করো

  2. User info process করো

  3. Data filtering বা transforming করো

তাহলে Lodash অনেক সময় বাঁচাবে এবং কোডকে clean রাখবে।


Powered by Blogger.