2021-06-15 00:49:18 -07:00
---
id: 5a23c84252665b21eecc7e1e
2021-08-09 17:35:35 +09:00
title: Produto escalar
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 302251
dashedName: dot-product
---
# --description--
2021-08-09 17:35:35 +09:00
Crie uma função, para calcular o ** [Produto escalar ](https://en.wikipedia.org/wiki/Dot product )**, também conhecido como **produto interno** entre dois vetores.
2021-06-15 00:49:18 -07:00
# --hints--
2021-08-09 17:35:35 +09:00
`dotProduct` deve ser uma função.
2021-06-15 00:49:18 -07:00
```js
assert(typeof dotProduct == 'function');
```
2021-08-09 17:35:35 +09:00
`dotProduct([1, 3, -5], [4, -2, -1])` deve retornar um número.
2021-06-15 00:49:18 -07:00
```js
assert(typeof dotProduct([1, 3, -5], [4, -2, -1]) == 'number');
```
2021-08-09 17:35:35 +09:00
`dotProduct([1, 3, -5], [4, -2, -1])` deve retornar `3` .
2021-06-15 00:49:18 -07:00
```js
assert.equal(dotProduct([1, 3, -5], [4, -2, -1]), 3);
```
2021-08-09 17:35:35 +09:00
`dotProduct([1, 2, 3, 4, 5], [6, 7, 8, 9, 10])` deve retornar `130` .
2021-06-15 00:49:18 -07:00
```js
assert.equal(dotProduct([1, 2, 3, 4, 5], [6, 7, 8, 9, 10]), 130);
```
2021-08-09 17:35:35 +09:00
`dotProduct([5, 4, 3, 2], [7, 8, 9, 6])` deve retornar `106` .
2021-06-15 00:49:18 -07:00
```js
assert.equal(dotProduct([5, 4, 3, 2], [7, 8, 9, 6]), 106);
```
2021-08-09 17:35:35 +09:00
`dotProduct([-5, 4, -3, 2], [-7, -8, 9, -6])` deve retornar `-36` .
2021-06-15 00:49:18 -07:00
```js
assert.equal(dotProduct([-5, 4, -3, 2], [-7, -8, 9, -6]), -36);
```
2021-08-09 17:35:35 +09:00
`dotProduct([17, 27, 34, 43, 15], [62, 73, 48, 95, 110])` deve retornar `10392` .
2021-06-15 00:49:18 -07:00
```js
assert.equal(dotProduct([17, 27, 34, 43, 15], [62, 73, 48, 95, 110]), 10392);
```
# --seed--
## --seed-contents--
```js
function dotProduct(ary1, ary2) {
}
```
# --solutions--
```js
function dotProduct(ary1, ary2) {
var dotprod = 0;
for (var i = 0; i < ary1.length ; i + + ) dotprod + = ary1 [ i ] * ary2 [ i ] ;
return dotprod;
}
```