+
95
-

回答

// 将数组保存为文件
function downloadArrayAsFile(array, filename) {
  const jsonStr = JSON.stringify(array);
  const blob = new Blob([jsonStr], { type: 'application/json' });
  const url = URL.createObjectURL(blob);

  const a = document.createElement('a');
  a.href = url;
  a.download = filename;
  a.style.display = 'none';

  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
  URL.revokeObjectURL(url);
}

// 从文件还原数组
function readArrayFromFile(file, callback) {
  const reader = new FileReader();
  reader.onload = function (event) {
    const content = event.target.result;
    const array = JSON.parse(content);
    callback(array);
  };
  reader.readAsText(file);
}

// 示例用法
const originalArray = [1, 2, 3, 4, 5];
const filename = 'myArray.json';

// 下载保存数组为文件
downloadArrayAsFile(originalArray, filename);

// 模拟用户上传文件
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.addEventListener('change', function () {
  const file = fileInput.files[0];
  readArrayFromFile(file, function (restoredArray) {
    console.log('Restored Array:', restoredArray);
  });
});

// 将fileInput添加到页面中,并触发选择文件的操作
document.body.appendChild(fileInput);

网友回复

我知道答案,我要回答