#javascript #arrays #json
#javascript #массивы #json
Вопрос:
КОНТЕКСТ
Я пытаюсь сохранить массив в текстовый файл.
Мой массив — это переменная js arrR
(скажем):
[-0, 0.0016, 0.0034, 0.005, 0.0067, 0.0082, 0.0103, 0.0116, 0.0135, 0.0154, 0.017]
Приведенная ниже функция сохраняет массив в текстовый файл:
$("#saveB").click(function () {
var diff = 3;
var json = JSON.stringify(arrR);
var downloadLink = document.createElement("a");
var blob = new Blob(["ufeff", json]);
var url = URL.createObjectURL(blob);
downloadLink.href = url;
downloadLink.download = "data.txt";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
arrR=[];
});
И это прекрасно работает.
ЧТО Я ХОТЕЛ БЫ СДЕЛАТЬ
Вместо того, чтобы иметь файл .txt, например:
[-0, 0.0016, 0.0034, 0.005, 0.0067, 0.0082, 0.0103, 0.0116, 0.0135, 0.0154, 0.017]
Я хотел бы иметь файл .txt или .csv, который хотел бы:
data measured at xx
0; -0
3; 0.0016
6; 0.0034
9; 0.005
12;0.0067
15; 0.0082
18;0.0103
21; 0.0116
24; 0.0135
27; 0.0154
30; 0.017
где:
второй столбец файла arrR
,
первый столбец представляет собой массив, в котором все элементы равны 0,3,6 (разница diff
в том, что) ,
заголовок — это текущее время.
Есть ли простой способ сделать это ?
Большое спасибо
Комментарии:
1. Вместо
JSON.stringify()
того, чтобы просто использовать, самостоятельно преобразуйте массив в строку в указанном вами формате.
Ответ №1:
Вы могли бы изменить
var json = JSON.stringify(arrR);
Для
const header = `data measured at ${(new Date()).toUTCString()}n`
var json = header arrR.map((value, index) =>
`${diff*index}; ${value}`).join('n');
Комментарии:
1. Отлично. Работает. Большое спасибо. Есть идеи, как добавить заголовок.
2. Удивительно! Спасибо