नेस्टेड ऑब्जेक्ट के लिए डॉट नोटेशन के साथ स्ट्रिंग

Jan 12 2023
एक उपयोगी चीज जिसे हम वस्तुओं को बनाने के लिए लागू कर सकते हैं। मामलों का उपयोग वांछित संरचना के अनुसार वस्तु को स्वरूपित करना।
स्ट्रिंग को डॉट नोटेशन के साथ नेस्टेड ऑब्जेक्ट में बदलें

एक उपयोगी चीज जिसे हम वस्तुओं को बनाने के लिए लागू कर सकते हैं।

बक्सों का इस्तेमाल करें

वांछित संरचना के अनुसार वस्तु को स्वरूपित करना।

व्यवहार में इसका क्या अर्थ है? काम के दौरान, हम अक्सर सहयोगियों से एक विशिष्ट प्रारूप में फॉर्म से डेटा भेजने के अनुरोध का सामना करते हैं। उदाहरण के लिए, फर्स्टनाम संपत्ति और अंतिम नाम संपत्ति व्यक्ति की संपत्ति के भीतर एक वस्तु है।

const formData = {
  firstName: "John",
  lastName: "Doe"
}

const formData = {
  person: {
    firstName: "John",
    lastName: "Doe"
  }
}

समाधान

const setPropertyByPath = (
  obj: object,
  path: string,
  value: FieldValue,
): object => {

  const [head, ...rest] = path.split('.');

  return {
    ...obj,
    [head]: rest.length
      ? setPropertyByPath(obj[head as keyof object], rest.join('.'), value)
      : value,
  };
};

  • पथ - हमारा पथ फॉर्म फ़ील्ड पूर्व "व्यक्ति.फर्स्टनाम", "व्यक्ति.पता.सिटी" या सिर्फ "शौक" से एकत्र किया गया। डॉट नोटेशन के साथ या उसके बिना।
  • [सिर, ... बाकी] - हम स्ट्रिंग को विभाजित करते हैं और पहले आइटम को सरणी और बाकी में लेते हैं। पहला सिर अन्य की तरह एक संपत्ति है। यह जाँचने के लिए कि क्या बाकी में और आइटम हैं, हम अंतिम आइटम के लिए रिकर्सन कहते हैं। जब हम अंतिम तक पहुँचते हैं तो हम उसे एक मान देते हैं।