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

जावास्क्रिप्ट में मैट्रिक्स गुणन के लिए एल्गोरिदम

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो संख्याओं के दो 2-डी सरणी लेता है और उनका मैट्रिक्स गुणन परिणाम देता है।

आइए इस फ़ंक्शन के लिए कोड लिखें -

उदाहरण

इसके लिए कोड होगा -

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. के लिए समझाएं। . .of लूप जावास्क्रिप्ट।

    for..of लूप हमें सरणी, स्ट्रिंग, सरणी जैसे ऑब्जेक्ट, नोडलिस्ट आदि जैसे पुनरावृत्त वस्तुओं पर पुनरावृति करने की अनुमति देता है। जावास्क्रिप्ट में for..of लूप के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" />

  1. जावास्क्रिप्ट में कॉन्स्ट बनाम लेट।

    Const and let को ES2015 में ब्लॉक स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि लेट का उपयोग करके घोषित चर को पुन:असाइन किया जा सकता है, यदि उन्हें कॉन्स का उपयोग करके घोषित किया गया है तो उन्हें पुन:असाइन नहीं किया जा सकता है। जावास्क्रिप्ट में लेट और कॉन्स्ट दिखाने वाला कोड निम्नलिखित ह

  1. जावास्क्रिप्ट में स्टेटमेंट के लिए... के बारे में बताएं?

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