談一下 JSON ,算是複習一下物件和迴圈吧
預計使用 PM 2.5 的資料:https://data.gov.tw/dataset/34827
資料格式如下
使用 Chrome 插件 JSONView 來觀看 JSON 格式的檔案,可以讓檔案比較具有可讀性
將 data 資料先全選複製內容到 JS 檔案內
var data = [
{
Site: "崙背",
county: "雲林縣",
PM25: "51",
DataCreationDate: "2019-10-04 11:00",
ItemUnit: "μg/m3"
},
// 中間略過
{
Site: "基隆",
county: "基隆市",
PM25: "9",
DataCreationDate: "2019-10-04 21:00",
ItemUnit: "μg/m3"
}
]
console.log("筆數:" + data.length);
// 筆數:78
console.log(data[10]);
// DataCreationDate: "2019-10-04 21:00"
// ItemUnit: "μg/m3"
// PM25: "38"
// Site: "竹山"
// county: "南投縣"
var total = data.length;
for (var i = 0 ; i < total ; i++){
if (data[i].county === "臺中市"){
console.log(data[i].Site);
}
}
// 西屯
// 忠明
// 大里
// 沙鹿
// 豐原
var a
放在外面是因為如果放迴圈裡面,a 每次進入迴圈就被重設為 0var total = data.length;
var a = 0;
for (var i = 0 ; i < total ; i++){
if (data[i].county === "臺中市"){
console.log("站點 " + (a+1) + ":" + data[i].Site);
a ++;
}
}
// 站點 1:西屯
// 站點 2:忠明
// 站點 3:大里
// 站點 4:沙鹿
// 站點 5:豐原
var total = data.length;
var b = 0;
for (var i = 0 ; i < total ; i++){
if (data[i].PM25 > 35.4){
console.log("需注意!" + data[i].county + "的" + data[i].Site + "超標!");
b ++; // 有第1站 b=0+1=1
}
}
console.log("總共有" + b + "站超標!");
// 需注意!雲林縣的崙背超標!
// 需注意!南投縣的埔里超標!
// 需注意!南投縣的竹山超標!
// 需注意!臺南市的新營超標!
// 需注意!雲林縣的臺西超標!
// (下略)
// 總共有22站超標!
進入事件篇了!