আপনি নিরাপদে যেকোনো স্তরে বৈশিষ্ট্য পেতে lodash এর get পদ্ধতি ব্যবহার করতে পারেন। প্রথম-স্তরের বৈশিষ্ট্যগুলি পাওয়া বেশ সহজ। নেস্টেড প্রপার্টি অ্যাক্সেস কঠিন এবং আপনার এটির জন্য লোডাশের মতো একটি পরীক্ষিত লাইব্রেরি ব্যবহার করা উচিত।
আপনি নিম্নলিখিত উপায়ে একটি গভীরভাবে নেস্টেড অবজেক্ট অ্যাক্সেস করতে পারেন -
উদাহরণ
let _ = require("lodash"); let obj = { a: { b: { foo: "test" }, c: 2 } }; console.log(_.get(obj, "a.b.foo")); console.log(_.get(obj, "a.c")); console.log(_.get(obj, "a.test")); console.log(_.get(obj, "a.test.x"));
আউটপুট
এটি −
আউটপুট দেবেtest 2 undefined undefined
এছাড়াও আপনি নিম্নলিখিত উপায়ে আপনার নিজের getProp ফাংশন লিখতে পারেন -
const getProp = (object, path) => { if (path.length === 1) return object[path[0]]; else if (path.length === 0) throw error; else { if (object[path[0]]) return getProp(object[path[0]], path.slice(1)); else { object[path[0]] = {}; return getProp(object[path[0]], path.slice(1)); } } };
আপনি প্রপস অ্যাক্সেস করতে একটি অ্যারে পাস করে এটি ব্যবহার করতে পারেন।
উদাহরণ
var obj = { level1:{ level2:{ level3:{ name: "Foo" } }, anotherLevel2: "bar" } }; console.log(getProp(obj, ["level1", "level2"]));
আউটপুট
এটি −
আউটপুট দেবে{level3: {name: "Foo"}}