Как получить значения объекта в одиночку и вставить во временную переменную - jsPDF-autoTable - PullRequest
0 голосов
/ 26 июня 2019

Ниже приведен пример ответа, получаемого от бэкэнда.

let data = [
{
    "thisIsTheResponseFromBackEnd": [
    {
        "Col Header 1": "AAA, AAA",
        "Col Header 2": "BCD",
        "Col Header 3": "dummy data 1",
    },
    {
        "Col Header 1": "BBB, BBB",
        "Col Header 2": "BCD",
        "Col Header 3": "dummy data 1",
    },
    {
        "Col Header 1": "Hello,world",
        "Col Header 2": "BCD",
        "Col Header 3": "dummy data 1",

    }]
}]

Я пытаюсь вставить динамические данные в jspdf autoTable.я использую header: Object.keys(data[0]) //as column

, но если попытаться выдвинуть значение объекта, он вернет только [object, Object]

Ниже я попробовал возможные способы вставки данных в тело jspdfatuoTable.но провалился следующий подход.

/*  Object.keys( data ).forEach( key => {
        console.log( data[key] );
        const temp = [data[key]];
        rows.push(temp);
         console.log('body ?', rows);
    }); */

/* Object.keys(data).forEach(function (prop) {
        const temp = [data[prop]];
        rows.push(temp);
    }); */

for (let [key, value] of Object.entries(data)) {   
    const temp = [data.value];
    rows.push(temp);
    console.log('body ?', rows);
}

Может ли кто-нибудь помочь мне с этим?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Заголовок: Object.keys(data[0])[0]

Кузов: data.map(x => Object.values(x))

0 голосов
/ 26 июня 2019

С помощью цикла For вы также можете легко решить эту проблему. Все, что вам нужно, - это правильно обращаться к объекту.

    let data = [
    {
        "thisIsTheResponseFromBackEnd": [
        {
            "Col Header 1": "AAA, AAA",
            "Col Header 2": "BCD",
            "Col Header 3": "dummy data 1",
        },
        {
            "Col Header 1": "BBB, BBB",
            "Col Header 2": "BCD",
            "Col Header 3": "dummy data 1",
        },
        {
            "Col Header 1": "Hello,world",
            "Col Header 2": "BCD",
            "Col Header 3": "dummy data 1",

        }]
    }]


    var res = data[0].thisIsTheResponseFromBackEnd
    for (var i = 0; i < res.length; i++) {
      console.log(res[i])
    }

Надеюсь, это поможет

...