Преобразование массива Javasript из широкого в длинный с использованием .reduce () создает пустой массив - PullRequest
1 голос
/ 03 августа 2020

У меня есть массив массивов объектов, и я пытаюсь «удлинить» его, чтобы это был просто массив объектов. Вот JSBin и код, который я пробовал:

var input = [[{"text": "A", "number": 1}, {"text": "B", "number": 2},{"text": "C", "number": 3} ],
[{"text": "D", "number": 4}, {"text": "E", "number": 5},{"text": "F", "number": 6} ]]

console.log(input);
var output = input.reduce((acc,cur,i,src)=>{
      console.log(cur.length);
         acc.concat(cur);
     return acc;
  },[]);
console.log("the end");
console.log(output);

«input» имеет два подмассива по 3 объекта. Вместо этого я хочу иметь массив с 6 объектами, но этот код вместо этого возвращает пустой массив

1 Ответ

0 голосов
/ 04 августа 2020
var input = [
    [{ "text": "A", "number": 1 }, { "text": "B", "number": 2 }, { "text": "C", "number": 3 }],
    [{ "text": "D", "number": 4 }, { "text": "E", "number": 5 }, { "text": "F", "number": 6 }]
]

var output = input.reduce((acc, cur, i, src) => {
    acc.push(...cur);
    return acc;
}, []);

console.log(output);


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...