কম্পিউটার

জাভাস্ক্রিপ্টে ডট নোটেশন স্ট্রিং সহ অবজেক্টের বৈশিষ্ট্যগুলি নিরাপদে সেট করা


আপনি নিরাপদে যেকোনো স্তরে বৈশিষ্ট্য সেট করতে lodash এর সেট পদ্ধতি ব্যবহার করতে পারেন। প্রথম-স্তরের বৈশিষ্ট্যগুলি সেট করা বেশ সহজবোধ্য। নেস্টেড প্রপার্টি অ্যাক্সেস কঠিন এবং আপনার এটির জন্য লোডাশের মতো একটি পরীক্ষিত লাইব্রেরি ব্যবহার করা উচিত।

আপনি নিম্নলিখিত উপায়ে একটি গভীরভাবে নেস্টেড অবজেক্ট সেট করতে পারেন -

উদাহরণ

let _ = require("lodash");
let obj = {
   a: {
      b: {
         foo: "test"
      },
      c: 2
   }
};
_.set(obj, "a.b.foo", "test1");
_.set(obj, "a.c", { test2: "bar" });
console.log(obj);

আউটপুট

এটি আউটপুট দেবে −

{ a: { b: { foo: 'test1' }, c: { test2: 'bar' } } }

এছাড়াও আপনি নিম্নলিখিত উপায়ে আপনার নিজস্ব setUpdateProp ফাংশন লিখতে পারেন -

const setUpdateProp = (object, path, value) => {
   if (path.length === 1) object[path[0]] = value;
      else if (path.length === 0) throw error;
   else {
      if (object[path[0]])
         return setUpdateProp(object[path[0]], path.slice(1), value);
      else {
         object[path[0]] = {};
         return setUpdateProp(object[path[0]], path.slice(1), value);
      }
   }
};

আপনি প্রপস অ্যাক্সেস করতে একটি অ্যারে পাস করে এটি ব্যবহার করতে পারেন।

উদাহরণ

var obj = {
   level1:{
      level2:{
         level3:{
            name: "Foo"
         }
      },
      anotherLevel2: "bar"
   }
};
setUpdateProp(obj, ["level1", "level2"], "FooBar");
console.log(obj);

আউটপুট

এটি আউটপুট দেবে −

{ level1: { level2: 'FooBar', anotherLevel2: 'bar' } }

  1. আমরা কি জাভাস্ক্রিপ্ট সহ একটি বস্তুর মধ্যে একটি সম্পত্তি আছে কিনা তা পরীক্ষা করতে পারি?

  2. জাভাস্ক্রিপ্টে অবজেক্ট সদস্য সেট করা

  3. জাভাস্ক্রিপ্টে ডট নোটেশন বনাম বন্ধনী স্বরলিপি

  4. জাভাস্ক্রিপ্টে ডট নোটেশন