1 回答

TA貢獻1812條經驗 獲得超5個贊
從分割線開始.split("\r\n"),然后添加對象shift()來彈出線,直到數組清空。代碼片段生成以下數組:
[
{
"tag": "milk",
"date": "2020-10-25",
"quantity": "1"
},
{
"tag": "egg",
"date": "2020-10-04",
"quantity": "3"
},
{
"tag": "banana",
"date": "2020-10-03",
"quantity": "2"
},
{
"tag": "apple",
"date": "2020-10-10",
"quantity": "1"
},
{
"tag": "yoghurt",
"date": "2020-10-31",
"quantity": "5"
}
]
document.getElementById('inputfile').addEventListener('change', function() {
var fr = new FileReader();
fr.onload = function(e){
var res = [];
var lines = this.result.split("\r\n");
while(lines.length > 0){
res.push({
tag: getField(lines),
date: getField(lines),
quantity: getField(lines),
});
if(lines[0] == '*') lines.shift();
}
console.log(res);
}
fr.readAsText(this.files[0]);
})
function getField(lines){
return lines.shift().split(' = ')[1];
}
<input id="inputfile" type="file" value="upload" />
添加回答
舉報