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

JavaScript में reduce() से ऐरे के ऐरे में सबसे बड़ी संख्याएं कैसे प्राप्त करें?

reduce() और Math.max() के साथ स्प्रेड ऑपरेटर से प्रत्येक सब-ऐरे का अधिकतम मान निकालें।

बुनियादी समाधान

const getMaxFromArrays = (arrays) => 
    arrays.reduce((maxValues, currentArray) => {
        maxValues.push(Math.max(...currentArray));
        return maxValues;
    }, []);

const arrays = [
    [45, 78, 3, 1],
    [50, 34, 90, 89],
    [32, 10, 90, 99]
];

console.log(getMaxFromArrays(arrays)); // [ 78, 90, 99 ]

map() विकल्प (सरल, अनुशंसित)

const maxValues = arrays.map(arr => Math.max(...arr));
console.log(maxValues); // [ 78, 90, 99 ]

reduce के साथ वन-लाइनर

const maxValues = arrays.reduce((acc, arr) => [...acc, Math.max(...arr)], []);
// या
const maxValues = arrays.reduce((acc, arr) => acc.concat(Math.max(...arr)), []);

खाली ऐरे हैंडलिंग

function safeMax(arr) {
    return arr.length > 0 ? Math.max(...arr) : null;
}

const withEmpty = [[1,2], [], [3,4]];
const maxes = withEmpty.map(safeMax);
console.log(maxes); // [ 2, null, 4 ]

ऑब्जेक्ट्स की ऐरे से मैक्स प्रॉपर्टी

const students = [
    [{ name: 'A', score: 80 }, { name: 'B', score: 90 }],
    [{ name: 'C', score: 85 }, { name: 'D', score: 95 }]
];

const maxScores = students.map(group => 
    Math.max(...group.map(s => s.score))
);

console.log(maxScores); // [ 90, 95 ]

चलाने का तरीका

node max-from-arrays.js

आउटपुट

[ 78, 90, 99 ]

प्रदर्शन नोट

  • map() सबसे पठनीय और पर्याप्त तेज़ है
  • reduce() उपयोगी जब एक्यूमुलेटर में अतिरिक्त लॉजिक हो
  • Math.max(...arr) बड़े ऐरे (100K+) के लिए स्टैक ओवरफ्लो कर सकता है - तब लूप उपयोग करें

बड़े ऐरे के लिए सुरक्षित मैक्स

function safeMaxLarge(arr) {
    if (arr.length === 0) return null;
    let max = arr[0];
    for (let i = 1; i < arr.length; i++) {
        if (arr[i] > max) max = arr[i];
    }
    return max;
}
  1. जावास्क्रिप्ट में मैप्स का उपयोग करके ऐरे को कैसे ट्रांसफॉर्म करें? जावास्क्रिप्ट में मैप्स का उपयोग करके ऐरे को कैसे ट्रांसफॉर्म करें?

    जावास्क्रिप्ट में मैप्स का उपयोग करके ऐरे को ट्रांसफॉर्म करने के लिए निम्नलिखित कोड है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&

  1. OpenCV में इटरेटर विधि का उपयोग करके रंग कम कैसे करें OpenCV में इटरेटर विधि का उपयोग करके रंग कम कैसे करें

    OpenCV में C++ STL संगत Mat इटरेटर क्लास है। इस Mat इटरेटर क्लास का उपयोग करके, हम पिक्सेल को बहुत आसानी से एक्सेस कर सकते हैं। हमें Mat इटरेटर क्लास का एक ऑब्जेक्ट बनाना होगा। हम इसे Mat_::iterator example के रूप में कर सकते हैं। हमें Mat के बाद अंडरस्कोर का उपयोग करना होगा जैसे Mat_ क्योंकि यह एक

  1. OpenCV में पॉइंटर मेथड का उपयोग करके रंग कैसे कम करें? OpenCV में पॉइंटर मेथड का उपयोग करके रंग कैसे कम करें?

    इमेज प्रोसेसिंग में, हम इमेज पर गणना करते हैं। अधिक विशिष्ट होने के लिए, हम पिक्सेल पर गणना करते हैं इसलिए पिक्सेल की संख्या जितनी अधिक होगी, गणना उतनी ही अधिक समय लेने वाली होगी। गणना समय को कम करने के लिए, हमें इमेज को कुशलतापूर्वक स्कैन करने की आवश्यकता होती है। हम सीखेंगे कि पॉइंटर्स का उपयोग कर