[プログラマー/javascript]15内在的


問題の説明
パラメータは、2つの長さが等しい1次元整数配列a,bである.解関数を完了し、aとbの内積を返してください.
このとき、aとbの内積はa[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1]である.(nはa,bの長さ)
せいげんじょうけん
  • a、bの長さは1000より大きい.
  • a、bのすべての数は-1000または1000以下である.
  • I/O例
    abresult[1,2,3,4][-3,-1,0,2]3[-1,0,1][1,0,-1]-2
    I/O例説明
    I/O例#1
  • aおよびbの内積は1*(-3) + 2*(-1) + 3*0 + 4*2 = 3である.
  • I/O例#2
  • aおよびbの内積は(-1)*1 + 0*0 + 1*(-1) = -2である.
  • に答える
    function solution(a, b) {
        var answer = 0;
        for(i=0; i<a.length; i++) {
          answer += (a[i]*b[i]);
        }
        return answer;
    }
    解説
    各配列の要素の積を積み重ねると,簡単に解くことができる.
    別の解釈
    function solution(a, b) {
        return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);
    }
    reduce関数を用いても簡単に解くことができる.