Разобрать данные типа списка в другой формат, чтобы сделать их совместимыми с электронной таблицей. - PullRequest
1 голос
/ 23 мая 2019

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

Спасибо за миллион заранее, буду признателен, если кто-нибудь сможет оказать мне небольшую помощь

Я нахожусь на этом часами и часами, я не могу найти решение для решения этой проблемы,

Скажем, у меня есть данные в виде списка, которые необходимо проанализировать из одного формата в другой формат Так, чтобы я мог сделать совместимым с форматом реагировать-таблицы для отображения электронной таблицы

Sample data:

const sampleData = [
  {
    question: "what is your name?",
    answer: "Ben",
    topic: "names"
  },
  {
    question: "what is your name?",
    answer: "Will",
    topic: "names"
  },
  {
    question: "What is your brother's age?",
    answer: 55,
    topic: "ages"
  }
]
Expected results 
 grid: [
        [
          { readOnly: true, value: "SL" },
          { value: "topic", readOnly: true },
          { value: "question", readOnly: true },
          { value: "answer", readOnly: true },
        ],
        [
          { readOnly: true, value: 1 },
          { value: 'names' },
          { value: ' what is your name?' },
          { value: 'Ben' },
        ],
        [
          { readOnly: true, value: 2 },
          { value:'names' },
          { value: 'what is your name?' },
          { value: 'Willi' },
        ],
        [
          { readOnly: true, value: 3 },
          { value: 'ages' },
          { value: "What is your brother's age?" },
          { value: 33 },
        ],
      ]

1 Ответ

0 голосов
/ 24 мая 2019

const sampleData = [
  {
    question: "what is your name?",
    answer: "Ben",
    topic: "names"
  },
  {
    question: "what is your name?",
    answer: "Will",
    topic: "names"
  },
  {
    question: "What is your brother's age?",
    answer: 55,
    topic: "ages"
  }
]

// First, for each object in sampleData, construct an array of objects:
var grid = sampleData.map(function(currentValue, index, a) {
    return [
        { readOnly: true, value: index + 1 },
        { value: currentValue.topic },
        { value: currentValue.question },
        { value: currentValue.answer }
    ];
});

// Then prepend the "header/config" array of objects:
grid.unshift([
    { readOnly: true, value: "SL" },
    { value: "topic", readOnly: true },
    { value: "question", readOnly: true },
    { value: "answer", readOnly: true },
]);

// Finally, wrap grid in an object:
var expectedResults = {
    grid: grid
}
console.log(expectedResults);
...