11 lines
352 B
JavaScript
11 lines
352 B
JavaScript
function dotp(x,y) {
|
|
function dotp_sum(a,b) { return a + b; }
|
|
function dotp_times(a,i) { return x[i] * y[i]; }
|
|
if (x.length != y.length)
|
|
throw "can't find dot product: arrays have different lengths";
|
|
return x.map(dotp_times).reduce(dotp_sum,0);
|
|
}
|
|
|
|
dotp([1,3,-5],[4,-2,-1]); // ==> 3
|
|
dotp([1,3,-5],[4,-2,-1,0]); // ==> exception
|