76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | id: 5a23c84252665b21eecc7e1e | ||
|  | title: Dot product | ||
|  | challengeType: 5 | ||
|  | forumTopicId: 302251 | ||
|  | dashedName: dot-product | ||
|  | --- | ||
|  | 
 | ||
|  | # --description--
 | ||
|  | 
 | ||
|  | Create a function, to compute the **[dot product](https://en.wikipedia.org/wiki/Dot product)**, also known as the **scalar product** of two vectors. | ||
|  | 
 | ||
|  | # --hints--
 | ||
|  | 
 | ||
|  | `dotProduct` should be a function. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(typeof dotProduct == 'function'); | ||
|  | ``` | ||
|  | 
 | ||
|  | `dotProduct([1, 3, -5], [4, -2, -1])` should return a number. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(typeof dotProduct([1, 3, -5], [4, -2, -1]) == 'number'); | ||
|  | ``` | ||
|  | 
 | ||
|  | `dotProduct([1, 3, -5], [4, -2, -1])` should return `3`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.equal(dotProduct([1, 3, -5], [4, -2, -1]), 3); | ||
|  | ``` | ||
|  | 
 | ||
|  | `dotProduct([1, 2, 3, 4, 5], [6, 7, 8, 9, 10])` should return `130`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.equal(dotProduct([1, 2, 3, 4, 5], [6, 7, 8, 9, 10]), 130); | ||
|  | ``` | ||
|  | 
 | ||
|  | `dotProduct([5, 4, 3, 2], [7, 8, 9, 6])` should return `106`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.equal(dotProduct([5, 4, 3, 2], [7, 8, 9, 6]), 106); | ||
|  | ``` | ||
|  | 
 | ||
|  | `dotProduct([-5, 4, -3, 2], [-7, -8, 9, -6])` should return `-36`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.equal(dotProduct([-5, 4, -3, 2], [-7, -8, 9, -6]), -36); | ||
|  | ``` | ||
|  | 
 | ||
|  | `dotProduct([17, 27, 34, 43, 15], [62, 73, 48, 95, 110])` should return `10392`. | ||
|  | 
 | ||
|  | ```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; | ||
|  | } | ||
|  | ``` |