140 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			140 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | id: 5e6dd15004c88cf00d2a78b3 | ||
|  | title: Loop over multiple arrays simultaneously | ||
|  | challengeType: 5 | ||
|  | forumTopicId: 385279 | ||
|  | dashedName: loop-over-multiple-arrays-simultaneously | ||
|  | --- | ||
|  | 
 | ||
|  | # --description--
 | ||
|  | 
 | ||
|  | Loop over multiple arrays and create a new array whose $i^{th}$ element is the concatenation of $i^{th}$ element of each of the given. | ||
|  | 
 | ||
|  | For this example, if you are given this array of arrays: | ||
|  | 
 | ||
|  | ```js | ||
|  | [ ["a", "b", "c"], ["A", "B", "C"], [1, 2, 3] ] | ||
|  | ``` | ||
|  | 
 | ||
|  | the output should be: | ||
|  | 
 | ||
|  | ```js | ||
|  | ["aA1","bB2","cC3"] | ||
|  | ``` | ||
|  | 
 | ||
|  | # --instructions--
 | ||
|  | 
 | ||
|  | Write a function that takes an array of arrays as a parameter and returns an array of strings satisfying the given description. | ||
|  | 
 | ||
|  | # --hints--
 | ||
|  | 
 | ||
|  | `loopSimult` should be a function. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert(typeof loopSimult == 'function'); | ||
|  | ``` | ||
|  | 
 | ||
|  | `loopSimult([["a", "b", "c"], ["A", "B", "C"], [1, 2, 3]])` should return a array. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert( | ||
|  |   Array.isArray( | ||
|  |     loopSimult([ | ||
|  |       ['a', 'b', 'c'], | ||
|  |       ['A', 'B', 'C'], | ||
|  |       [1, 2, 3] | ||
|  |     ]) | ||
|  |   ) | ||
|  | ); | ||
|  | ``` | ||
|  | 
 | ||
|  | `loopSimult([["a", "b", "c"], ["A", "B", "C"], [1, 2, 3]])` should return `["aA1", "bB2", "cC3"]`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.deepEqual( | ||
|  |   loopSimult([ | ||
|  |     ['a', 'b', 'c'], | ||
|  |     ['A', 'B', 'C'], | ||
|  |     [1, 2, 3] | ||
|  |   ]), | ||
|  |   ['aA1', 'bB2', 'cC3'] | ||
|  | ); | ||
|  | ``` | ||
|  | 
 | ||
|  | `loopSimult([["c", "b", "c"], ["4", "5", "C"], [7, 7, 3]])` should return `["c47", "b57", "cC3"]`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.deepEqual( | ||
|  |   loopSimult([ | ||
|  |     ['c', 'b', 'c'], | ||
|  |     ['4', '5', 'C'], | ||
|  |     [7, 7, 3] | ||
|  |   ]), | ||
|  |   ['c47', 'b57', 'cC3'] | ||
|  | ); | ||
|  | ``` | ||
|  | 
 | ||
|  | `loopSimult([["a", "b", "c", "d"], ["A", "B", "C", "d"], [1, 2, 3, 4]])` should return `["aA1", "bB2", "cC3", "dd4"]`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.deepEqual( | ||
|  |   loopSimult([ | ||
|  |     ['a', 'b', 'c', 'd'], | ||
|  |     ['A', 'B', 'C', 'd'], | ||
|  |     [1, 2, 3, 4] | ||
|  |   ]), | ||
|  |   ['aA1', 'bB2', 'cC3', 'dd4'] | ||
|  | ); | ||
|  | ``` | ||
|  | 
 | ||
|  | `loopSimult([["a", "b"], ["A", "B"], [1, 2]])` should return `["aA1", "bB2"]`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.deepEqual( | ||
|  |   loopSimult([ | ||
|  |     ['a', 'b'], | ||
|  |     ['A', 'B'], | ||
|  |     [1, 2] | ||
|  |   ]), | ||
|  |   ['aA1', 'bB2'] | ||
|  | ); | ||
|  | ``` | ||
|  | 
 | ||
|  | `loopSimult([["b", "c"], ["B", "C"], [2, 3]])` should return `["bB2", "cC3"]`. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.deepEqual( | ||
|  |   loopSimult([ | ||
|  |     ['b', 'c'], | ||
|  |     ['B', 'C'], | ||
|  |     [2, 3] | ||
|  |   ]), | ||
|  |   ['bB2', 'cC3'] | ||
|  | ); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --seed--
 | ||
|  | 
 | ||
|  | ## --seed-contents--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | function loopSimult(A) { | ||
|  | 
 | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | # --solutions--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | function loopSimult(A) { | ||
|  |     var res = [], output; | ||
|  |     for (var i = 0; i < A[0].length; i += 1) { | ||
|  |         output = ""; | ||
|  |         for (var j = 0; j < A.length; j++) | ||
|  |             output += A[j][i]; | ||
|  |         res.push(output); | ||
|  |     } | ||
|  |     return res; | ||
|  | } | ||
|  | ``` |