Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

अद्वितीय फ़ील्ड के माध्यम से ऑब्जेक्ट गुणों को मर्ज करें फिर डेटा प्रिंट करें - जावास्क्रिप्ट

<घंटा/>

मान लीजिए कि हमारे पास एक छात्र वस्तु है जिसमें दो गुण नाम और अंक हैं। नाम वस्तु की एक सरणी है जिसमें प्रत्येक वस्तु के दो गुण नाम और रोल होते हैं, इसी तरह अंक वस्तु की एक सरणी होती है जिसमें प्रत्येक वस्तु गुण चिह्न और रोल होती है। हमारा कार्य प्रत्येक वस्तु की उपयुक्त रोल संपत्ति के अनुसार चिह्नों और नामों के गुणों को संयोजित करना है।

विद्यार्थी वस्तु यहाँ दी गई है -

const students = {
   marks: [{
      roll: 123,
      mark: 89
   }, {
      roll: 143,
      mark: 69
   }, {
      roll: 126,
      mark: 91
   }, {
      roll: 112,
      mark: 80
   }],
names: [{
   name: 'Aashish',
   roll: 126
}, {
   name: 'Sourav',
   roll: 112
}, {
   name: 'Vineet',
   roll: 143
}, {
   name: 'Kartik',
   roll: 123
}]
}

आइए एक फ़ंक्शन कंबाइन प्रॉपर्टीज़ को परिभाषित करें जो छात्रों के ऑब्जेक्ट में ले जाती है और प्रॉपर्टी को जगह में जोड़ती है, यानी बिना किसी अतिरिक्त स्थान का उपयोग किए -

const combineProperties = (students) => {
   const { marks, names } = students;
   marks.forEach(marksObj => {
      const { roll } = marksObj;
      marksObj.name = names.find(namesObj => namesObj.roll ===roll).name;
   })
   delete students['names'];
};
combineProperties(students);
console.log(students);

इस कोड की समय जटिलता ओ (एमएन) है जहां एम और एन सरणी नाम और अंक के संबंधित आकार और इस ओ (1) की अंतरिक्ष जटिलता हैं। हालांकि, अंक सरणी के प्रत्येक तत्व के लिए एक नई संपत्ति बनाई जा रही है।

ये रहा पूरा कोड -

उदाहरण

const students = {
   marks: [{
      roll: 123,
      mark: 89
   }, {
      roll: 143,
      mark: 69
   }, {
      roll: 126,
      mark: 91
   }, {
      roll: 112,
      mark: 80
   }],
   names: [{
      name: 'Aashish',
      roll: 126
   }, {
      name: 'Sourav',
      roll: 112
   }, {
      name: 'Vineet',
      roll: 143
   }, {
      name: 'Kartik',
      roll: 123
   }]
}
const combineProperties = (students) => {
   const { marks, names } = students;
   marks.forEach(marksObj => {
      const { roll } = marksObj;
      marksObj.name = names.find(namesObj => namesObj.roll ===roll).name;
   })
   delete students['names'];
};
combineProperties(students);
console.log(students);

आउटपुट

कंसोल आउटपुट होगा -

{
   marks: [
      { roll: 123, mark: 89, name: 'Kartik' },{ roll: 143, mark: 69, name: 'Vineet' },
      { roll: 126, mark: 91, name: 'Aashish' },{ roll: 112, mark: 80, name: 'Sourav' }
   ]
}

  1. जावास्क्रिप्ट ऑब्जेक्ट को सरणी गुणों की लंबाई के आधार पर छाँटना।

    जावास्क्रिप्ट ऑब्जेक्ट को सरणी गुणों की लंबाई के अनुसार क्रमबद्ध करने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0&

  1. जावास्क्रिप्ट में किसी अन्य वस्तु के माध्यम से किसी वस्तु का उपयोग कैसे करें?

    जावास्क्रिप्ट में किसी अन्य वस्तु के माध्यम से किसी वस्तु तक पहुँचने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0&q

  1. कैसे जावास्क्रिप्ट में प्रत्येक वस्तु के लिए एक अद्वितीय आईडी बनाने के लिए?

    निम्नलिखित प्रत्येक वस्तु के लिए एक अद्वितीय आईडी बनाने के लिए कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>