JSFiddle - React, Tailwind, and code Playground

JavaScript

var number = null;
data2 = [];
data.forEach((i) => {
  if (number !== i.number) {
    number = i.number;

    data.push({
      number: i.number,
      messages: [{
        text: i.text,
      }, ],
    });
  } else {
    const index = data.length - 1;
    data[index].messages.push({
      text: i.text,
    });
  }
});