Преобразование научных данных txt в десятичные числа в js

I have a txt file with some scientific notation data numbers like this: { dataOne: [ 5.569018719136569021E-06, 1.376507918408910661E-06, 1.851318096813942040E-05, 8.340228080628309137E-06, 1.717457405070531878E-05, 2.637606161909224398E-05,]}

Мой код здесь вызывает эти данные, и мне нужно преобразовать их в формат json. После преобразования эти научные данные необходимо преобразовать в объект js (десятичный), чтобы их можно было вызвать для построения диаграммы.
пример: 5,569018719136569021E-06 в 0,00000556901

Как я могу сделать это внутри моего кода?

const fs = require('fs')
const txtdata =(fs.readFileSync('../data/hist-data.txt')).toString();

const data = txtdata.split('/n');

const datas =(data.shift()).split('dataOne'| 'dataTwo');

let json = [];

for (let i = 0; i < data.length; i ++) {
  let jsonData = {};
 json.push(datas);
}
console.log(datas)

мой console.log(datas) возвращает это в терминале:

[ '\n{\n dataOne: [\n 5.569', '18719136569', '21E-', '6,\n 1.3765', '79184', '891', '661E-', '6,\n 1,851318", "96813942", "4", "Е-", "5,\n 8,34", "228",


person Andrea    schedule 22.02.2021    source источник


Ответы (1)


JSON.parse() должно помочь. 1.376507918408910661E-06 — допустимое числовое обозначение JS (в результате получается 0.0000013765079184089107), поэтому специальная обработка не требуется.

const fs = require('fs')
const txtdata = fs.readFileSync('../data/hist-data.txt', 'utf-8')
// UTF-8 makes it return a string
// see https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options

const json = JSON.parse(txtdata)
// plot data here
person Vitalii    schedule 27.02.2021