Lodash এর _.get(), _.set(), এবং _.has() ফাংশনগুলি nested object গুলির সাথে কাজ করার জন্য অত্যন্ত শক্তিশালী টুল। এগুলি আপনাকে object এর মধ্যে গভীর nested value পড়া, সেট করা এবং চেক করার কাজগুলো সহজে করতে সাহায্য করে। এই ফাংশনগুলি ব্যবহার করলে আপনি সহজেই complex data structures পরিচালনা করতে পারবেন।
১. _.get() – Nested Value পড়া
_.get() ফাংশনটি একটি nested object থেকে একটি value পড়তে ব্যবহৃত হয়, এবং এটি যদি নির্দিষ্ট path এর value না পায় তবে একটি default value রিটার্ন করে। এটি nested data structures এর সাথে কাজ করার জন্য খুবই উপকারী।
Syntax:
_.get(object, path, [defaultValue])
- object: যার মধ্যে থেকে value পড়তে হবে।
- path: যে path এ value রয়েছে (string বা array হিসেবে দেওয়া যায়)।
- [defaultValue]: optional parameter, যা রিটার্ন করা হবে যদি path এর value না পাওয়া যায়।
উদাহরণ:
const _ = require('lodash');
let user = {
name: 'John',
address: {
street: '123 Main St',
city: 'New York',
zip: {
code: '10001',
area: 'Manhattan'
}
}
};
// Nested value get করা
let city = _.get(user, 'address.city');
console.log(city); // 'New York'
// Non-existing value get করা, default value সহ
let country = _.get(user, 'address.country', 'USA');
console.log(country); // 'USA'
// Nested object থেকে deeper level value get করা
let zipCode = _.get(user, 'address.zip.code');
console.log(zipCode); // '10001'
// Default value সহ non-existing deep path get করা
let state = _.get(user, 'address.state', 'NY');
console.log(state); // 'NY'
এখানে, _.get() ব্যবহার করে আমরা user object এর মধ্যে nested value সহজেই access করেছি, এবং যদি কোনো value না পাওয়া যেতো, তবে defaultValue প্রদান করা হয়েছিল।
২. _.set() – Nested Value সেট করা
_.set() ফাংশনটি nested object এর মধ্যে একটি নতুন value সেট করার জন্য ব্যবহৃত হয়। এটি নির্দিষ্ট path অনুযায়ী object এর value আপডেট করে।
Syntax:
_.set(object, path, value)
- object: যার মধ্যে value সেট করতে হবে।
- path: যে path তে value সেট করতে হবে (string বা array হিসেবে দেওয়া যায়)।
- value: যে value সেট করতে হবে।
উদাহরণ:
let user = {
name: 'John',
address: {
street: '123 Main St',
city: 'New York',
zip: {
code: '10001',
area: 'Manhattan'
}
}
};
// Nested value set করা
_.set(user, 'address.city', 'Los Angeles');
console.log(user.address.city); // 'Los Angeles'
// New nested path তে value set করা
_.set(user, 'address.zip.area', 'Hollywood');
console.log(user.address.zip.area); // 'Hollywood'
// Deep nested path তে নতুন value সেট করা
_.set(user, 'address.zip.code', '90001');
console.log(user.address.zip.code); // '90001'
এখানে, _.set() ব্যবহার করে আমরা user object এর nested values আপডেট করেছি এবং নতুন path গুলোতেও value সেট করেছি।
৩. _.has() – Path Exists কিনা চেক করা
_.has() ফাংশনটি একটি object এর মধ্যে নির্দিষ্ট path রয়েছে কিনা তা চেক করার জন্য ব্যবহৃত হয়। এটি boolean রিটার্ন করে: true যদি path থাকে এবং false যদি না থাকে।
Syntax:
_.has(object, path)
- object: যে object এর মধ্যে path চেক করতে হবে।
- path: যে path চেক করতে হবে (string বা array হিসেবে দেওয়া যায়)।
উদাহরণ:
let user = {
name: 'John',
address: {
street: '123 Main St',
city: 'New York',
zip: {
code: '10001',
area: 'Manhattan'
}
}
};
// Path exists কিনা চেক করা
let hasStreet = _.has(user, 'address.street');
console.log(hasStreet); // true
let hasCountry = _.has(user, 'address.country');
console.log(hasCountry); // false
// Nested path exists কিনা চেক করা
let hasZipCode = _.has(user, 'address.zip.code');
console.log(hasZipCode); // true
let hasArea = _.has(user, 'address.zip.area');
console.log(hasArea); // true
এখানে, _.has() ব্যবহার করে আমরা object এর মধ্যে একটি নির্দিষ্ট path (বা nested path) আছে কিনা তা চেক করেছি।
উপসংহার
Lodash এর _.get(), _.set(), এবং _.has() ফাংশনগুলি আপনাকে nested object এর সাথে সহজে কাজ করার সুবিধা প্রদান করে। _.get() দিয়ে আপনি একটি nested value পড়তে পারেন, _.set() দিয়ে আপনি nested value আপডেট বা সেট করতে পারেন, এবং _.has() দিয়ে আপনি চেক করতে পারেন যে কোনো path object এর মধ্যে আছে কিনা। এই ফাংশনগুলির মাধ্যমে আপনি object গুলির মধ্যে ডেটা পরিচালনা এবং ম্যানিপুলেট করা আরও সহজ ও নির্ভরযোগ্য করতে পারেন।
Read more