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

JavaScript में मैट्रिक्स मल्टीप्लिकेशन का एल्गोरिदम


हमें एक जावास्क्रिप्ट फंक्शन लिखना है जो नंबर्स के दो 2-D ऐरे ले और उनका मैट्रिक्स मल्टीप्लिकेशन रिजल्ट वापस करे।

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

उदाहरण

इसके लिए कोड:

const multiplyMatrices = (a, b) => {    if (!Array.isArray(a) || !Array.isArray(b) || !a.length || !b.length) {       throw new Error('arguments should be in 2-dimensional array format');    }    let x = a.length,    z = a[0].length,    y = b[0].length;    if (b.length !== z) {       // XxZ & ZxY => XxY       throw new Error('number of columns in the first matrix should be       the same as the number of rows in the second');    }    let productRow = Array.apply(null, new Array(y)).map(Number.prototype.valueOf, 0);    let product = new Array(x);    for (let p = 0; p < x; p++) {       product[p] = productRow.slice();     }    for (let i = 0; i < x; i++) {       for (let j = 0; j < y; j++) {          for (let k = 0; k < z; k++) {             product[i][j] += a[i][k] * b[k][j];          }       }    }    return product; } // 5 x 4 let a = [    [1, 2, 3, 1],    [4, 5, 6, 1],    [7, 8, 9, 1],    [1, 1, 1, 1],    [5, 7, 2, 6] ]; // 4 x 6 let b = [    [1, 4, 7, 3, 4, 6],    [2, 5, 8, 7, 3, 2],    [3, 6, 9, 6, 7, 8],    [1, 1, 1, 2, 3, 6] ]; // 5 x 6 मैट्रिक्स में परिणाम होना चाहिए console.log(multiplyMatrices(a, b));

आउटपुट

कंसोल में आउटपुट:

[    [ 15, 33, 51, 37, 34, 40 ],    [ 33, 78, 123, 85, 76, 88 ],    [ 51, 123, 195, 133, 118, 136 ],    [ 7, 16, 25, 18, 17, 22 ],    [ 31, 73, 115, 88, 73, 96 ] ]

  1. जावास्क्रिप्ट में for...of लूप समझाएं जावास्क्रिप्ट में for...of लूप समझाएं

    परिचय for...of लूप (ES2015) इटरेबल ऑब्जेक्ट्स (ऐरे, स्ट्रिंग, मैप, सेट, नोडलिस्ट, आर्गुमेंट्स ऑब्जेक्ट, आदि) पर पुनरावृति करने का एक साफ तरीका प्रदान करता है। यह for...in के विपरीत, प्रॉपर्टी नामों के बजाय मानों पर पुनरावृति करता है। उदाहरण निम्न कोड जावास्क्रिप्ट में for...of लूप के लिए है: <

  1. JavaScript में Const vs Let JavaScript में Const vs Let

    Const और let को ES2015 में ब्लॉक-स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि let का उपयोग करके घोषित वेरिएबल को पुनः असाइन किया जा सकता है, const का उपयोग करके घोषित वेरिएबल को पुनः असाइन नहीं किया जा सकता। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me

  1. जावास्क्रिप्ट में for...in स्टेटमेंट समझाया गया जावास्क्रिप्ट में for...in स्टेटमेंट समझाया गया

    for...in लूप ऑब्जेक्ट की सभी प्रॉपर्टीज के माध्यम से लूप करता है। जावास्क्रिप्ट में for..in स्टेटमेंट को लागू करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0