0

I have one array, needs to merge with values the same indexes values like 0 will become ['0','0','1','2']

Example:

0:
    0: (2) ['0', '0']
    1: (2) ['0', '0']
    2: (2) ['0', '2']
1:  
    0: ['1']
    1: ['2']
    2: ['2']
2:  
    0: ['2']
    1: ['2']
    2: ['2']

Tried

var result = outterArray.reduce(function (a, b) {
        return a.map(function (v, i) {
            return [v] + b[i];
        });
      });

but getting

0: "0,012"
1: "0,022"
2: "0,222"

expected :

0: "[0,0,1,2]"
1: "[0,0,2,2]"
2: "[0,2,2,2]"
6
  • what goes wrong? please add data and your code. Commented Jul 20, 2022 at 16:46
  • Array.prototype.reduce() Commented Jul 20, 2022 at 16:48
  • No clue how you go from that array to the example output. Commented Jul 20, 2022 at 16:49
  • Please be a little more detailed: what is input here, and what is output? Also, what code did you already write and isn't doing what you expected it to? If it's been a while, please remember to reread how to ask a good question and then update your post accordingly. Commented Jul 20, 2022 at 16:50
  • Is the original data always a square? (same number of rows as columns) If not, is is always rectangular (same number of columns in each row) Commented Jul 20, 2022 at 16:52

1 Answer 1

3

Assuming the below array, you could map the inner array and take the values from the accumulator at same index or an empty array.

const 
    data= [
        [['0', '0'], ['0', '0'], ['0', '2']],
        [['1'], ['2'], ['2']],
        [['2'], ['2'], ['2']]
    ],
    result = data.reduce((r, a) => a.map((v, i) => [...(r[i] || []), ...v]), []);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.