Paul
1
課堂附件下載
https://drive.google.com/drive/folders/1eU90aUN_txzhQYf1wdqOe1AnyHpZo7Y_?usp=sharing
請下載這堂課要用到的
範例3-1選出『銷售對象』是『德諾科技』的資料
console.log(input);
input.forEach(element => {
if(element["銷售對象"]){ // 確認這是一個物件,而不是空值
if(element["銷售對象"].includes("德諾科技")){
output.push(element);
}
}
});
output.header.push("銷售日期","銷售對象","商品名稱","數量","單價","銷售金額","營業稅","銷售金額合計");
console.log(output);
範例3-2 實作總銷售金額
console.log(input);
let sum = 0;
input.forEach(element => {
if(element.total_price){
sum += element.total_price;
}
});
output["total_price"] = sum;
console.log(output);
範例3-3 將範例1-5的成果,找出各地區溫度,作成表格
let tlist = _.filter(Object.entries(input), function (item){
return item[0].includes("溫度")
});
console.log(tlist);
tlist.forEach(function (element){
let array = element[0].split(" ");
console.log({
"地區":array[0],
"溫度":element[1]
});
// output.push({
// "地區":array[0],
// "溫度":element[1]
// });
});
Paul
2
07期最後在範例3-3中調用子技能範例 1-5 的『溫度』資訊沒有正確抓到的原因
我重新開始一個訓練,用 Google 作天氣搜尋,利用『保存內容』來儲存溫度資訊時,發現這裏用的 CSS selector 如下:
DIV#cnt.e9EfHf > DIV#rcnt.GyAeWb > DIV#center_col.s6JM6d > DIV#res.eqAnXb > DIV#search > DIV > DIV#rso.v7W49e > DIV.ULSxyf > DIV.MjjYud > DIV.KIy09e.obcontainer.wDYxhc > DIV > DIV#wob_wc.nawv0d > DIV.UQt4rd > DIV.Ab33Nc > DIV > DIV.vk_bk.TylWce.SGNhVe > SPAN#wob_tm.wob_t.q8U8x
而先前訓練時用的如下:
HTML > BODY#gsr.srp > DIV#main.main > DIV#cnt.e9EfHf > DIV#rcnt.GyAeWb > DIV#center_col.s6JM6d > DIV#res.eqAnXb > DIV#search > DIV > DIV#rso.v7W49e > DIV.ULSxyf > DIV.KIy09e.obcontainer.wDYxhc > DIV > DIV#wob_wc.nawv0d > DIV.UQt4rd > DIV.Ab33Nc > DIV > DIV.vk_bk.TylWce.SGNhVe > SPAN#wob_tm.wob_t.q8U8x
這兩者已經不太相同。
因此,利用技能『調整』去調整原技能步驟的參數,變更為新的 CSS selector 設定,即可修正此問題。
直接複製 3-2 的程式碼去跑,跑出來竟然是"0",不知道為什麼
請教"Emily 第三堂課,課堂程式片段"
3-1 選出『銷售對象』是『德諾科技』的資料
console.log(input);
input.forEach(element => {
if(element[“銷售對象”]){ // 確認這是一個物件,而不是空值
if(element[“銷售對象”].includes(“德諾科技”)){
output.push(element);
}
}
});
output.header.push(“銷售日期”,“銷售對象”,“商品名稱”,“數量”,“單價”,“銷售金額”,“營業稅”,“銷售金額合計”);
console.log(output);
問1. :如果要篩選 includes("德諾科技")
多個條件,應該如何撰寫?
問2. :如果要篩選 element["銷售對象"]
多個條件,應該如何撰寫?
Paul
6
問1. :如果要篩選 includes("德諾科技")
多個條件,應該如何撰寫?
答1: 可以使用 javascript 中的 OR 運算元 ||
例如:
if(element[“銷售對象”].includes(“德諾科技”) || element[“銷售對象”].includes(“三星科技”) ){
output.push(element);
}
問2是要問什麼?可以舉個例子說明一下比較好回答
1 Like
問題已解決
console.log(input);
input.forEach(element => {
if(element[“部門”]){ // 確認這是一個物件,而不是空值
if(element[“部門”].includes(“材料部”)) {
if(element[“Status”]){ // 確認這是一個物件,而不是空值
if(element[“Status”].includes(“Delay”)||element[“Status”].includes(“Urgent”)){
output.push(element);
}
}
}
}
});
output.header.push(“部門”,“姓名”,“Item Due”,“Status”,“需求簡述”,“技術對策項目”,“Item 執行項目”);
console.log(output);
1 Like