freeCodeCamp/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/loop-over-multiple-arrays-s...

2.4 KiB

id title challengeType forumTopicId dashedName
5e6dd15004c88cf00d2a78b3 Loop over multiple arrays simultaneously 5 385279 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:

[ ["a", "b", "c"], ["A", "B", "C"], [1, 2, 3] ]

the output should be:

["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.

assert(typeof loopSimult == 'function');

loopSimult([["a", "b", "c"], ["A", "B", "C"], [1, 2, 3]]) should return a array.

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"].

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"].

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"].

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"].

assert.deepEqual(
  loopSimult([
    ['a', 'b'],
    ['A', 'B'],
    [1, 2]
  ]),
  ['aA1', 'bB2']
);

loopSimult([["b", "c"], ["B", "C"], [2, 3]]) should return ["bB2", "cC3"].

assert.deepEqual(
  loopSimult([
    ['b', 'c'],
    ['B', 'C'],
    [2, 3]
  ]),
  ['bB2', 'cC3']
);

--seed--

--seed-contents--

function loopSimult(A) {

}

--solutions--

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