Math.max() के साथ Object.values() या स्प्रेड ऑपरेटर से ऑब्जेक्ट/ऐरे में अधिकतम मान और उसकी कुंजी ढूंढें।
ऑब्जेक्ट से मैक्स मान और कुंजी
const marks = { marks1: 78, marks2: 69, marks3: 79, marks4: 74 };
// अधिकतम मान
const maxValue = Math.max(...Object.values(marks));
console.log("उच्चतम अंक:", maxValue); // 79
// संबंधित कुंजी ढूंढें
const maxKey = Object.keys(marks).find(key => marks[key] === maxValue);
console.log("विषय:", maxKey); // "marks3"
// या entries से
const [maxKey2, maxVal2] = Object.entries(marks)
.reduce((max, curr) => curr[1] > max[1] ? curr : max);
console.log(maxKey2, maxVal2); // "marks3" 79
ऐरे से मैक्स
const numbers = [10, 3, 4, 90, 34, 56, 23, 100, 200];
const max = Math.max(...numbers);
console.log(max); // 200
एकाधिक वेरिएबल्स (ऑब्जेक्ट में डालें)
let a = 10, b = 25, c = 7, d = 100, e = 50;
const values = { a, b, c, d, e }; // शॉर्टहैंड प्रॉपर्टी
const maxVal = Math.max(...Object.values(values));
const maxKey = Object.keys(values).find(k => values[k] === maxVal);
console.log(`${maxKey} = ${maxVal}`); // "d = 100"
टाई (समान मान) हैंडलिंग
const scores = { a: 100, b: 90, c: 100, d: 80 };
const max = Math.max(...Object.values(scores));
// सभी मैक्स कुंजियाँ
const maxKeys = Object.keys(scores).filter(k => scores[k] === max);
console.log("सभी टॉपर्स:", maxKeys); // [ 'a', 'c' ]
चलाने का तरीका
node find-max.js
आउटपुट
The highest marks=79
The Object='marks3'
सारांश
| डेटा टाइप | मैक्स मान | मैक्स कुंजी |
|---|---|---|
| ऐरे | Math.max(...arr) | arr.indexOf(max) |
| ऑब्जेक्ट | Math.max(...Object.values(obj)) | Object.keys(obj).find(k => obj[k]===max) |
| Map | Math.max(...map.values()) | [...map.entries()].find(([k,v])=>v===max)[0] |