How to calculate the dot product of two arrays in JavaScript

3 Answers

0 votes
function calculate_dot_product(arr1, arr2) {
    let product = 0;
    const size = arr1.length;
    
    for (let i = 0; i < size; i++) {
        product += arr1[i] * arr2[i];
    }
    
    return product;
}
        
const arr1 = [1, 4, 8, 9, 6];
const arr2 = [0, 7, 1, 3, 40];

// result = 1*0 + 4*7 + 8*1 + 9*3 + 6*40 = 0 + 28 + 8 + 27 + 240 = 303

console.log("Dot product = " + calculate_dot_product(arr1, arr2));




/*
run:

"Dot product = 303"

*/

 



answered Feb 17, 2023 by avibootz
edited Oct 23, 2024 by avibootz
0 votes
function calculate_dot_product(arr1, arr2) {
    return arr1.reduce((accumulator, n, i) => accumulator + (n * arr2[i]), 0);
}
        
const arr1 = [1, 4, 8, 9, 6];
const arr2 = [0, 7, 1, 3, 40];

console.log("Dot product = " + calculate_dot_product(arr1, arr2));




/*
run:

"Dot product = 303"

*/

 



answered Feb 17, 2023 by avibootz
0 votes
function calculate_dot_product(arr1, arr2) {
    let product = (arr1, arr2) => arr1.map((val, i) => arr1[i] * arr2[i]).reduce((m, n) => m + n);

    return product(arr1, arr2);
}
        
const arr1 = [1, 4, 8, 9, 6];
const arr2 = [0, 7, 1, 3, 40];

console.log("Dot product = " + calculate_dot_product(arr1, arr2));





/*
run:

"Dot product = 303"

*/

 



answered Feb 17, 2023 by avibootz
...