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

जावास्क्रिप्ट: सबसे बड़े स्कोर वाले ऐरे आइटम(एस) लौटाना

हमारे पास ऐरे का एक ऐरे है जिसमें कुछ छात्रों द्वारा कुछ विषयों में प्राप्त अंक हैं -

const arr = [ 
  ['Math', 'John', 100], 
  ['Math', 'Jake', 89], 
  ['Math', 'Amy', 93], 
  ['Science', 'Jake', 89], 
  ['Science', 'John', 89], 
  ['Science', 'Amy', 83], 
  ['English', 'John', 82], 
  ['English', 'Amy', 81], 
  ['English', 'Jake', 72] 
];

हमें एक फ़ंक्शन लिखना है जो इस ऐरे को लेता है और ऑब्जेक्ट्स का एक ऐरे लौटाता है, प्रत्येक विषय के लिए एक ऑब्जेक्ट और उस विषय के टॉप स्कोरर का विवरण।

हमारा आउटपुट इस तरह दिखना चाहिए -

[ 
  { "Subject": "Math", "Top": [ { Name: "John", Score: 100} ] }, 
  { "Subject": "Science", "Top": [ { Name: "Jake", Score: 89}, { Name: "John", Score: 89} ] }, 
  { "Subject": "English", "Top": [ { Name: "John", Score: 82} ] } 
]

आइए इस फ़ंक्शन के लिए कोड लिखते हैं।

उदाहरण

const arr = [ 
  ['Math', 'John', 100], 
  ['Math', 'Jake', 89], 
  ['Math', 'Amy', 93], 
  ['Science', 'Jake', 89], 
  ['Science', 'John', 89], 
  ['Science', 'Amy', 83], 
  ['English', 'John', 82], 
  ['English', 'Amy', 81], 
  ['English', 'Jake', 72] 
]; 
const groupScore = arr => { 
  return arr.reduce((acc, val, index, array) => { 
    const [sub, name, score] = val; 
    const ind = acc.findIndex(el => el['Subject'] === val[0]); 
    if(ind !== -1){ 
      if(score > acc[ind]["Top"][0]["score"]){ 
        acc[ind]["Top"] = [{ "name": name,"score": score }]; 
      }else if(score === acc[ind]["Top"][0]["score"]){ 
        acc[ind]["Top"].push({ "name": name,"score": score }); 
      } 
    }else{ 
      acc.push({ "Subject": sub,"Top": [{"name": name, "score": score}]}); 
    }; 
    return acc; 
  }, []); 
}; 
console.log(JSON.stringify(groupScore(arr), undefined, 4));

आउटपुट

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

[ 
  { "Subject": "Math", "Top": [ { "name": "John","score": 100 } ] }, 
  { "Subject": "Science", "Top": [ { "name": "Jake", "score": 89 }, { "name": "John", "score": 89 } ] }, 
  { "Subject": "English", "Top": [ { "name": "John", "score": 82 } ] } 
]
  1. जावास्क्रिप्ट में new कीवर्ड के साथ ऐरे बनाना जावास्क्रिप्ट में new कीवर्ड के साथ ऐरे बनाना

    परिचय जावास्क्रिप्ट में ऐरे बनाने का एक तरीका new Array() कंस्ट्रक्टर का उपयोग करना है। हालांकि, ऐरे लिटरल सिंटैक्स [] आमतौर पर पसंद किया जाता है क्योंकि यह अधिक संक्षिप्त और तेज़ है। उदाहरण निम्न कोड जावास्क्रिप्ट में new कीवर्ड के साथ ऐरे बनाने के लिए है: <!DOCTYPE html> <html lang=&qu

  1. कंडीशन के साथ जावास्क्रिप्ट ऐरे को जोड़ना कंडीशन के साथ जावास्क्रिप्ट ऐरे को जोड़ना

    जावास्क्रिप्ट में कंडीशन के साथ ऐरे को जोड़ने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    

  1. - जावास्क्रिप्ट में एक मोड़ के साथ तत्वों के बीच सबसे बड़ा अंतर

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है। फ़ंक्शन को सरणी के सबसे बड़े और सबसे छोटे तत्व के बीच का अंतर ढूंढना चाहिए। शर्त यह है कि छोटा तत्व मूल सरणी में बड़े तत्व से पहले आना चाहिए।उदाहरण के लिए -संख्याओं की निम्नलिखित सरणी पर विचार करें -const arr = [2, 5, 6, 12, 1];इ