// 将数组保存为文件
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);
网友回复


