Как получить строки или ячейки из JSON в JavaScript? - PullRequest
0 голосов
/ 26 октября 2018

У меня проблема с получением строк из JSON и сохранением их в отдельном объекте {}.Вот как я структурирую свои данные.

enter image description here

После того, как я попробовал различные методы, я, наконец, думаю, что это близко, но не то, что я ищу.

for(let i = 0; i < cols.length; i++){
   Object.values(allData.analysis[key]).slice(1).map(val => {
     console.log({[cols[i]]: val[i]})
   })
}

allData содержит все данные, включая заголовок

name,age,gender
John Deo,45,male
Mary Jeo,54,female
Saly Meo,55,female

cols содержит только заголовок


После запуска приведенного выше кода вот что я получил.

То, что у меня есть до сих пор.

enter image description here

Чего я хочу добиться.

enter image description here

Я рад предоставить больше примеров кодов!

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Больше ответов для динамических данных, как вы добавляете больше заголовков

var temporary = [
  "name,age,gender,status",
  "John Deo,45,male,single",
  "Mary Jeo,54,female,married",
  "Saly Meo,55,female,married"
];

// for dynamic header

var headers = temporary[0].split(',');
var data = [];

for(var x = 1; x < temporary.length; x++) {

   var dataToInsert = {};
   // split values to convert to array
   var values = temporary[x].split(',');

   // loop inside headers
   for(var i = 0; i < headers.length; i++) {
      var key = headers[i];
      // assign values according to match indexes
      dataToInsert[key] = values[i];
   }
   data.push(dataToInsert);
}

console.log(data);
0 голосов
/ 26 октября 2018

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

const allData = [
  ["John Deo", 45, "male"],
  ["Mary Jeo", 54, "female"],
  ["Saly Meo", 55, "female"]
];

const data = allData.reduce((accum, curr) => {
  let obj = {};
  obj.name = curr[0];
  obj.age = curr[1];
  obj.gender = curr[2];
  return [...accum, obj];
}, []);

console.log(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...