--- 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; } ```