फ़ंक्शन को इसके पैरामीटर के रूप में एक क्रमबद्ध सरणी (आयु) लेने की आवश्यकता है, फिर एक सरणी लौटाएं: सबसे छोटी संख्या, सबसे बड़ी संख्या, उनके बीच का अंतर।

function differenceInAges(ages){
let firstArr = ages;
let sortArr = firstArr.sort();
let last = sortArr.slice(-1);
let diff = last - sortArr[0];
let ansArr = [sortArr[0], last, diff];

}

जब इस फ़ंक्शन को तर्क पारित किया जाता है तो यह अपरिभाषित के रूप में लौट रहा है।

0
Mike McDonald 25 मार्च 2020, 11:06

1 उत्तर

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

मैंने आपके कोड में निम्नलिखित मुद्दों की पहचान की है।

  1. कोई return परिभाषित नहीं है।

  2. Array.sort() केवल स्ट्रिंग सॉर्ट करता है। संख्यात्मक प्रकार के लिए आपको एक फ़ंक्शन को परिभाषित करने की आवश्यकता है। (मैंने इसे जोड़ा है)

  3. बिना स्प्रेड ऑपरेटर के असाइनमेंट ऑपरेटर के साथ समान सरणी का उपयोग करके, यह उसी उदाहरण को firstArr, ages, sortArr में कॉपी करेगा

आशा है कि यह समाधान वह है जिसे आप ढूंढ रहे हैं।

function differenceInAges(ages){
  let firstArr = ages;
  let sortArr = [...firstArr].sort(sortNumber);
  let last = sortArr.slice(-1)[0];
  let diff = last - sortArr[0];
  let ansArr = [sortArr[0], last, diff];
  return ansArr;
}
function sortNumber(a, b) {
  return a - b;
}
console.log(differenceInAges([10, 20, 5, 25, 30]));
1
Nitheesh 25 मार्च 2020, 08:29