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

जावास्क्रिप्ट में दो वस्तुओं की तुलना करें और समानता के प्रतिशत का प्रतिनिधित्व करने वाले 0 और 100 के बीच की संख्या लौटाएं

<घंटा/>

मान लीजिए, हमारे पास इस तरह की दो वस्तुएं हैं -

const a = {
   Make: "Apple",
   Model: "iPad",
   hasScreen: "yes",
   Review: "Great product!",
};
const b = {
   Make: "Apple",
   Model: "iPad",
   waterResistant: false
};

हमें एक फ़ंक्शन लिखने की आवश्यकता होती है जो वस्तुओं में सामान्य गुणों की संख्या की गणना करता है (सामान्य संपत्ति से हमारा मतलब है कि कुंजी और मूल्य दोनों समान हैं) और 0 और 100 (दोनों समावेशी) के बीच एक संख्या देता है जो वस्तुओं के बीच समानता के प्रतिशत का प्रतिनिधित्व करता है। जैसे कि यदि कोई कुंजी/मान युग्म मेल नहीं खाता है तो यह 0 होगा, यदि सभी मेल खाता है तो यह 100 होगा।

समानता के प्रतिशत की गणना करने के लिए हम समान गुण की संख्या को छोटी वस्तु में गुणों की संख्या से विभाजित कर सकते हैं (एक जिसमें कम कुंजी/मूल्य जोड़े हैं) और इस परिणाम को 100 से गुणा करें।

तो, उस समझ के साथ, अब इस फ़ंक्शन के लिए कोड लिखते हैं -

उदाहरण

const a = {
   Make: "Apple",
   Model: "iPad",
   hasScreen: "yes",
   Review: "Great product!",
};
const b = {
   Make: "Apple",
   Model: "iPad",
   waterResistant: false
};
const findSimilarity = (first, second) => {
   const firstLength = Object.keys(first).length;
   const secondLength = Object.keys(second).length;
   const smaller = firstLength < secondLength ? first : second;
   const greater = smaller === first ? second : first;
   const count = Object.keys(smaller).reduce((acc, val) => {
      if(Object.keys(greater).includes(val)){
         if(greater[val] === smaller[val]){
            return ++acc;
         };
      };
      return acc;
   }, 0);
   return (count / Math.min(firstLength, secondLength)) * 100;
};
console.log(findSimilarity(a, b));

आउटपुट

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

66.66666666666666

क्योंकि छोटी वस्तु में 3 गुण होते हैं जिनमें से 2 सामान्य होते हैं जो लगभग 66% होते हैं।


  1. दशमलव संख्या के बिट्स को उलटना और जावास्क्रिप्ट में नई दशमलव संख्या लौटाना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो एक दशमलव संख्या लेता है, इसे बाइनरी में परिवर्तित करता है और इसके 1 बिट को 0 और 0 से 1 में उलट देता है और इस प्रकार बनाई गई नई बाइनरी के दशमलव समकक्ष को लौटाता है। उदाहरण निम्नलिखित कोड है - const num = 45657; const reverseBitsAndCo

  1. JavaScript में दो IP पतों के बीच मौजूद IP पतों की संख्या की गणना करना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो दो IPv4 पतों को लेता है, और उनके बीच पतों की संख्या लौटाता है (पहले वाले सहित, अंतिम को छोड़कर)। यह उन्हें दशमलव में परिवर्तित करके और उनका पूर्ण अंतर ज्ञात करके किया जा सकता है। उदाहरण निम्नलिखित कोड है - const ip1 = '20.0.0.10'; const ip2 =

  1. जावास्क्रिप्ट में अभाज्य संख्याओं की शक्ति और गुणनफल के रूप में संख्या का प्रतिनिधित्व करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक सकारात्मक पूर्णांक लेता है। हमारे फ़ंक्शन को इस संख्या को अभाज्य संख्याओं की कुछ घातों के योग के रूप में प्रस्तुत करना चाहिए। इसलिए, संख्या n के लिए, हमारे फ़ंक्शन को इस तरह की एक स्ट्रिंग वापस करनी चाहिए - n = "(p1**n1)(p2**n2)...(pk**nk)&q