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

जावास्क्रिप्ट में एक जंजीर संचालन वर्ग बनाना

<घंटा/>

समस्या

हमें जावास्क्रिप्ट में एक उपयोगकर्ता परिभाषित डेटा प्रकार स्ट्रीक बनाना है जिसे मान के साथ किसी भी हद तक जंजीर में बांधा जा सकता है और संचालन वैकल्पिक रूप से

मान निम्न स्ट्रिंग्स में से एक हो सकता है -

→ one, two three, four, five, six, seven, eight, nine

ऑपरेशन निम्नलिखित स्ट्रिंग्स में से एक हो सकता है -

→ plus, minus

उदाहरण के लिए, यदि हम अपनी कक्षा के संदर्भ में निम्नलिखित को लागू करते हैं -

Streak.one.plus.five.minus.three;

तब आउटपुट होना चाहिए -

const output = 3;

आउटपुट स्पष्टीकरण

क्योंकि जो ऑपरेशन हुए वे हैं -

1 + 5 - 3 = 3

उदाहरण

निम्नलिखित कोड है -

const Streak = function() {
   let value = 0;
   const operators = {
      'plus': (a, b) => a + b,
      'minus': (a, b) => a - b
   };
   const numbers = [
      'zero', 'one', 'two', 'three', 'four', 'five',
      'six', 'seven', 'eight', 'nine'
   ];
   Object.keys(operators).forEach((operator) => {
      const operatorFunction = operators[operator];
      const operatorObject = {};
      numbers.forEach((num, index) => {
         Object.defineProperty(operatorObject, num, {
            get: () => value = operatorFunction(value, index)
         });
      });
      Number.prototype[operator] = operatorObject;
   });
   numbers.forEach((num, index) => {
      Object.defineProperty(this, num, {
         get: () => {
            value = index;
            return Number(index);
         }  
      });
   });
};
const streak = new Streak();
console.log(streak.one.plus.five.minus.three);

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

3

  1. जावास्क्रिप्ट का उपयोग करके एक लिंक की गई सूची बनाना

    आइए एक कंस्ट्रक्टर के साथ एक साधारण वर्ग को परिभाषित करके शुरू करते हैं जो सिर को शून्य से आरंभ करता है। हम LinkedList वर्ग के प्रोटोटाइप पर एक और संरचना भी परिभाषित करेंगे जो लिंक की गई सूची में प्रत्येक नोड का प्रतिनिधित्व करेगी। उदाहरण क्लास लिंक्डलिस्ट {कन्स्ट्रक्टर () {this.head =null; यह लंबा

  1. जावास्क्रिप्ट में क्लास कीवर्ड

    ES6 में शुरू की गई जावास्क्रिप्ट कक्षाएं, जावास्क्रिप्ट प्रोटोटाइप-आधारित वंशानुक्रम पर वाक्यात्मक चीनी हैं। कक्षाएं वास्तव में विशेष कार्य हैं। आप निम्न सिंटैक्स का उपयोग करके क्लास कीवर्ड का उपयोग करके जावास्क्रिप्ट में कक्षाएं परिभाषित कर सकते हैं - class Person {    // Constructor for

  1. जावास्क्रिप्ट में उलटा ऑपरेशन

    मान लीजिए, हमें एक फ़ंक्शन लिखना है जो एक बाइनरी स्ट्रिंग (केवल 0 और 1 से मिलकर) लेता है और इसके विपरीत देता है, सभी 0 को 1 से बदल दिया जाता है और 1s को 0 से बदल दिया जाता है। आइए इस फ़ंक्शन के लिए कोड लिखें - उदाहरण const num = '1101'; const n = '11010111'; const inverseBinary = (b