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

दो 2-D ऐरे लेकर उनका मैट्रिक्स गुणनफल लौटाएं - JavaScript


हमें एक JavaScript फंक्शन लिखना है जो दो 2-D ऐरे लेता है और उनका मैट्रिक्स गुणनफल लौटाता है।

मान लीजिए निम्नलिखित हमारे दो मैट्रिक्स हैं:

// 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]
];

उदाहरण

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

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]
];
// should result in a 5 x 6 matrix
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. JavaScript में एरे डेटा स्ट्रक्चर JavaScript में एरे डेटा स्ट्रक्चर

    एरे एक कंटेनर है जो निश्चित संख्या में आइटम्स रख सकता है और ये आइटम्स एक ही प्रकार के होने चाहिए। यह एक ही प्रकार के एलिमेंट्स का निश्चित आकार का अनुक्रमिक संग्रह संग्रहीत करता है। एरे का उपयोग डेटा के संग्रह को संग्रहीत करने के लिए किया जाता है, लेकिन अक्सर एरे को एक ही प्रकार के वेरिएबल्स के संग्

  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>    bod

  1. जावास्क्रिप्ट में दो ऐरे को कैसे गुणा करें? जावास्क्रिप्ट में दो ऐरे को कैसे गुणा करें?

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