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

JavaScript में चेन ऑपरेशन क्लास बनाना

समस्या

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

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

→ 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. JavaScript का उपयोग करके लिंक्ड लिस्ट बनाना JavaScript का उपयोग करके लिंक्ड लिस्ट बनाना

    आइए एक साधारण क्लास को परिभाषित करके शुरू करें जिसमें एक कंस्ट्रक्टर हो जो हेड को null पर इनिशियलाइज़ करता है। हम LinkedList क्लास के प्रोटोटाइप पर एक और स्ट्रक्चर भी परिभाषित करेंगे जो लिंक्ड लिस्ट में प्रत्येक नोड का प्रतिनिधित्व करेगा। उदाहरण class LinkedList {    constructor() {  

  1. - JavaScript में Class कीवर्ड

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

  1. - JavaScript में इनवर्स ऑपरेशन

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