पहली बात सबसे पहले मैं कहना चाहता हूं कि आपके द्वारा छोड़ने के लिए बहुत-बहुत धन्यवाद। मैं जावास्क्रिप्ट में एक नौसिखिया हूँ। और अब कुछ मुद्दों से निपट रहे हैं, और मुझे यह पहचानने में मदद चाहिए कि मेरी पंक्तियों में क्या गलत है। तो यहाँ यह है, मैं एक फ़ंक्शन के अंदर सशर्त विवरण का उपयोग करके चर से उच्चतम संख्या का पता लगाना चाहता हूं, मैं अभी फंस गया हूं।

संपादित: मेरी मदद करने के लिए धन्यवाद दोस्तों, अब मेरे पास एक स्पष्ट दृष्टिकोण है कि मुझे और क्या सीखना चाहिए।

const number1 = 103;
const number2 = 72;
const number3 = 189;

const getMax = (a, b, c) => {
  let max = a;
  
  if(b > max) {
    let max = b;
  } else if (c > max){
    let max = c;
  };
  
  return max;
}

getMax(number1, number2, number3);

console.log(`Max number is ${getMax}`);```
2
Tolere Dp 22 मार्च 2021, 18:40

4 जवाब

सबसे बढ़िया उत्तर

टिप्पणियों में बताए गए आपके कोड में कुछ चीजें गलत हैं, इसलिए प्रश्न 100% स्पष्ट नहीं है इसलिए मैं आपको नीचे दिए गए दृष्टिकोण के साथ प्रस्तुत करता हूं ...

function getMax() {
  const nums = arguments;
  var max = null;

  for (let i = 0; i < nums.length; i++) {
    const num = nums[i];
    if (max === null || num > max) {
      max = num;
    }
  }

  return max;
}

यह फ़ंक्शन तुलना करने के लिए अनंत तर्कों की संख्या को स्वीकार करता है और इनपुट की निश्चित संख्या तक सीमित नहीं है। उदाहरण के लिए, नीचे सभी मान्य उपयोग हैं:

const validExample1 = getMax(33, 72, 189, 4, 1); // Output: 189
const validExample2 = getMax(2, 2); // Output: 2
const validExample3 = getMax(320, 1, 8); // Output: 320
const validExample4 = getMax(-1, -200, -34); // Output: -1

एरो फंक्शन एक्सप्रेशन का उपयोग न करके आप arguments का इस्तेमाल कर सकते हैं कीवर्ड सभी मानों की एक चलने योग्य वस्तु को पुनः प्राप्त करने के लिए। वैकल्पिक रूप से, यदि आवश्यकताएँ तीर फ़ंक्शंस का उपयोग करने के लिए हैं, तो आप बस स्प्रेड सिंटैक्स (...) करें...

const getMax = ( ...nums ) => {
  var max = null;

  for (let i = 0; i < nums.length; i++) {
    const num = nums[i];
    if (max === null || num > max) {
      max = num;
    }
  }

  return max;
}

एक पूर्ण कार्यशील उदाहरण:

const number1 = 3;
const number2 = 72;
const number3 = 189;

function getMax() {

  const nums = arguments;
  var max = null;

  for (let i = 0; i < nums.length; i++) {
    const num = nums[i];
    if (max === null || num > max) {
      max = num;
    }
  }

  return max;
}

const result = getMax(number1, number2, number3);

console.log(`Nilai maksimum adalah ${result}`);
0
Levi Cole 22 मार्च 2021, 15:59

मुझे कई त्रुटियां दिखाई देती हैं। सबसे पहले, आप अधिकतम 2 बार प्रारंभ करें। let max = a; और फिर आप max का उपयोग कर सकते हैं। लेकिन else if भी गलत है।

क्या होगा अगर c < b < a? तब केवल पहला यदि लागू होता है, हालांकि c, a . से बड़ा है

0
10 Rep 22 मार्च 2021, 16:24

आपको अन्य भाग को छोड़ने की आवश्यकता नहीं है, क्योंकि यदि b a से बड़ा नहीं है, तो भी आपको c के साथ तुलना करने की आवश्यकता है।

अन्य दो बिंदु हैं:

  1. ब्लॉकवार max घोषित करने की आवश्यकता नहीं है, क्योंकि बाहरी को स्थिति से मूल्य नहीं मिलता है।

  2. आप कभी भी getMax की कॉल के परिणाम का उपयोग नहीं करते हैं।

const getMax = (a, b, c) => {
    let max = a;

    if (b > max) max = b;
    if (c > max) max = c;

    return max;
}



console.log(`max value: ${getMax(2, 72, 189)}`);
0
Nina Scholz 22 मार्च 2021, 15:49

let कीवर्ड के साथ घोषित वेरिएबल्स में एक ब्लॉक स्कोप होता है, यानी वे केवल उस ब्लॉक के भीतर ही पहुंच योग्य होते हैं, जिसमें उन्हें परिभाषित किया गया था। आप पहले max को a पर सेट कर रहे हैं, फिर आपके अंदर अगर कथन, आप उसी नाम से एक और स्थानीय चर बना रहे हैं और इसे मान b निर्दिष्ट कर रहे हैं। आपको क्या करना चाहिए let घोषणाओं को अपने if/else कथन के अंदर हटा दें।

दूसरा, पहली शर्त पूरी होने पर आपका if ब्लॉक निकाला जा रहा है। आपको किसी अन्य कथन का उपयोग करना चाहिए (जो कि पहले वाले में शर्त पूरी हुई है या नहीं, इस पर ध्यान दिए बिना चलेगा) किसी अन्य कथन के विपरीत (जो केवल पहली शर्त पूरी नहीं होने पर ही चलेगा)।

तीसरा, आप अपने console.log में अपने फ़ंक्शन के ऑब्जेक्ट संदर्भ को पास कर रहे हैं (सभी फ़ंक्शन जावास्क्रिप्ट में ऑब्जेक्ट हैं) जो फ़ंक्शन टेक्स्ट के बराबर है। आपको इसके बजाय फ़ंक्शन कॉल पास करने की आवश्यकता है।

अपरिभाषित चरों का उपयोग न करने के अलावा, आपको बस इतना ही करना है।

const number1 = 54;
const number2 = 72;
const number3 = 189;

const getMax = (a, b, c) => {
  let max = a;
  
  if(b > max) {
    max = b;
  }
  
  if (c > max){
    max = c;
  };
  
  return max;
}

console.log(`Nilai maksimum adalah ${getMax(number1, number2, number3)}`);
1
Wais Kamal 22 मार्च 2021, 16:05