Можно ли динамически добавлять значения в объект из массива объектов? - PullRequest
0 голосов
/ 13 июля 2020

Хорошо, так что у меня тут немного мозгового пукла.

В следующем коде длина test неизвестна и может варьироваться от 1 до любого числа в зависимости от выбора пользователя.

Одно примерное значение test включено ниже. В следующем коде я вручную добавляю значения test в объект таблицы. Но поскольку длина test не фиксирована, я ищу более динамичный подход c, но не могу понять, как это сделать.

Например: допустим, длина test равна 3. Я бы хотел, чтобы все 3 значения test автоматически добавлялись в таблицу без каких-либо ручных усилий.

Пример значения теста:

var test = []
for (var i = 0; i <= 5; i++) {
    test.push([
        { text: 'Test1', italics: true, fontSize: 11 },
        { text: '2', alignment: 'center', fontSize: 11 },
        { text: '1', alignment: 'center', fontSize: 11 },
    ])
}

Объект таблицы:

{
    table: {
        widths: ['50%', '25%', '25%'],
        headerRows: 1,
        body: [
            [{
                text: 'MES Module Name',
                bold: true,
                fillColor: 'lightgray',
                style: 'tableHeader'
            }, {
                text: 'Marks - Theory',
                bold: true,
                alignment: 'center',
                fillColor: 'lightgray',
                style: 'tableHeader'
            }, {
                text: 'Marks - Practical',
                bold: true,
                alignment: 'center',
                fillColor: 'lightgray',
                style: 'tableHeader'
            }],
            test[0],
            test[1],
            test[2],
            test[3],
            test[4],
        ]
    }
},

1 Ответ

0 голосов
/ 13 июля 2020

Вы можете попробовать это.

  • Инициализировать table.body = [];
  • Затем используйте table.body.push({});, чтобы добавить к нему новые объекты.
table.body = [];
for(var i=0; i<objectsToAdd.length; i++){
    table.body.push(objectsToAdd[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...