這裏是我的代碼:爲什麼不把這個循環寫入每個元素到一個文件?
var data = require('./campSample.json');
var dataArray = data.resultset.result;
var fs = require('fs');
for(var i = 0; i < dataArray.length; i++){
fs.writeFile("./campList", dataArray[i]["-facilityName"], function (err) {
if(err){
return console.log(err);
}
});
}
我試圖讓for循環要經過的每個項目在數組中,得到facilityName,並寫入facilityName到一個文件中。當我運行上面的代碼時,它只寫入數組中第一項的facilityName。有一個更好的方法嗎?我正在使用的campSample.json只是一個示例。我想使用的實際數組中有大約4000個項目。這裏是campSample.json的內容:
{
"resultset": {
"-count": "4904",
"-resultType": "campgrounds",
"result": [
{
"-availabilityStatus": "N",
"-contractID": "GA",
"-contractType": "STATE",
"-facilityID": "530145",
"-facilityName": "A. H. STEPHENS STATE HISTORIC PARK",
"-faciltyPhoto": "/webphotos/GA/pid530145/0/80x53.jpg",
"-latitude": "33.5633333",
"-longitude": "-82.8966667",
"-shortName": "C145",
"-sitesWithAmps": "Y",
"-sitesWithPetsAllowed": "Y",
"-sitesWithSewerHookup": "N",
"-sitesWithWaterHookup": "Y",
"-state": "GA"
},
{
"-availabilityStatus": "N",
"-contractID": "OH",
"-contractType": "STATE",
"-facilityID": "960023",
"-facilityName": "A.W. MARION STATE PARK",
"-faciltyPhoto": "/webphotos/OH/pid960023/0/80x53.jpg",
"-latitude": "39.6336111",
"-longitude": "-82.8747222",
"-shortName": "P023",
"-sitesWithAmps": "Y",
"-sitesWithPetsAllowed": "Y",
"-sitesWithSewerHookup": "N",
"-sitesWithWaterHookup": "N",
"-state": "OH"
},
{
"-availabilityStatus": "N",
"-contractID": "NRSO",
"-contractType": "FEDERAL",
"-facilityID": "72346",
"-facilityName": "ACKER ROCK LOOKOUT",
"-faciltyPhoto": "/webphotos/NRSO/pid72346/0/80x53.jpg",
"-latitude": "43.0523056",
"-longitude": "-122.6456111",
"-shortName": "ARCL",
"-sitesWithAmps": "N",
"-sitesWithPetsAllowed": "Y",
"-sitesWithSewerHookup": "N",
"-sitesWithWaterHookup": "N",
"-state": "OR"
}
]
}
}
您能告訴我們在這個文件'「./campList」'中的預期結果嗎? – Lewis
如何連接'string'和'fs.writeFile'只有一次? – Rayon
對於上面的json樣本,預期的輸出如下: A.H.史蒂文斯州歷史公園 A.W.馬里昂州立公園 ACKER ROCK LOOKOUTTE歷史公園 但現在我看到了訂單,當前代碼實際上只是寫入第三個項目的facilityName,Acker Rock ... – Impulso