Массив строковых объектов. Нужно их нанизать

У меня есть массив строк, которые на самом деле являются объектами.

  buildTaskMatrix(pages) {
let allTasks = [];
for (let i = 0; i < pages.length; i++) {
  const page = pages[i];
  for (let j = 0; j < page.tasks.length; j++) {
    const task = page.tasks[j];
    allTasks.push(
      `[{ text: task.panelName, fontSize: 5, colSpan: 2 },
      {},
      { text: task.panelQty },
      { text: task.panelWidth + 'x' + task.panelHeight },
      { text: task.substrateName, fontSize: 5, colSpan: 2 },
      {},
      { text: task.producingBranch, fontSize: 5, colSpan: 2 },
      {},
      { text: task.specialInstructions, fontSize: 5, colSpan: 3 },
      {},
      {}]`
    );
    // const test = allTasks[j][0].replace('"', '');
    // const test2 = test.slice(0, -1);
  }
}
return allTasks;

}

Я пытаюсь либо заменить строки, либо найти другое решение, чтобы добавить их в мой объект PDFmake, который должен быть в формате ниже.

[
        { text: '2', style: 'header', fontSize: 5, colSpan: 2 },
        {},
        { text: 'Qty', style: 'header', fontSize: 5 },
        { text: 'Size', style: 'header', fontSize: 5 },
        { text: 'Substrate', style: 'header', fontSize: 5, colSpan: 2 },
        {},
        { text: 'Prod City', style: 'header', fontSize: 5, colSpan: 2 },
        {},
        { text: 'Notes', style: 'header', fontSize: 5, colSpan: 3 },
        {},
        {}
      ],

Я пытался..

taskMatrix[0].replace('"', '')

который, похоже, не работает.

Массивы не удерживают несколько объектов в одной позиции, но для меня это было бы идеальным решением. Я думаю, что я неправильно подхожу к этому и очень надеюсь, что кто-то поймет, что я делаю неправильно.

У вас нет массива строк, которые на самом деле являются объектами, у вас есть массив строк. И поскольку вы использовали массив строк, вам теперь требуется специальный синтаксический анализатор строк, чтобы преобразовать строку в объект, который вы можете использовать. Сценарий использования этой круговой логики трудно понять. Почему бы просто не толкать объекты в первую очередь?

Randy Casburn 18.04.2018 18:44

Вот что я в итоге сделал. Мой подход был супер тупым

Nathan Elg 18.04.2018 19:08

Так что давайте поработаем над этим. Но сначала, можете ли вы объяснить, почему style появляется в версии to be, но отсутствует в версии as is?

Randy Casburn 18.04.2018 19:16
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
3
57
1

Ответы 1

Вы должны либо вставить объект непосредственно в массив, либо, если вам действительно нужны строки по какой-либо причине, используйте JSON.parse () для преобразования строки текста в формате JSON в объект Javacript. Однако вам нужно будет правильно параметрировать строку и убедиться, что текстовые поля заключены в двойные кавычки.

Другие вопросы по теме