--- tags: JS 直播班 - 2021 春季班 --- # 4/5 線上 Slack 助教 ## 今日輪班助教時間 SONYKO:4/5(一) 早上 9:00 - 早上11:00,下午 1:00 -下午 5:00 ## 發問規範 老師助教同學們好,**這是我的 Codepen**,我**原本預期**「JS 第 8 行會出現數字 8」,**但卻出現**「預期外的結果是 0」,想問下問題出在哪裡? ## 注意 1. 請各位先到 Slack 上將問題放在助教服務內的 thread,如圖 ![](https://i.imgur.com/nHE3sOx.png) 2. 遵循以上的發問規範以便助教查看問題,不可直接貼上網址而沒有說明文字或者只提供截圖 3. 助教會依照 Slack 上的順序回覆問題 4. 以下問題區塊只能由助教自行增加 5. 助教會將回覆寫在下方問題區塊 ## 問題 🎀 <font color="#e5b3cc">這裡只能由助教自行增加問題,請大家將問題放在 thread 上 </font>💕 1. **圈圈:** 助教不好意思,我卡在最終作業的 swiper 切版部分,我用 swiper.js 套件去做,在第一筆下 margin-left: 95px ,但同一行會掉一個 swiper-slide 下去。 > 助教回覆: > 不確定是不是聰明的[解法](https://codepen.io/s_syoujyo/pen/oNBwebp?editors=1100)(咦) 不過看起來很正常 XDD > 我先在 HTML 最前端設一個 swiper-slide 框框, 給他一個 class 。然後寫寬度給他(你想要 margin left 的寬度 ), 再設 opacity : 0 讓他透明掉, 看起來就有 99.9% 像了! 同學可以試試看 👍🏻 --- 2. **Fred Chang** 老師助教同學們好,這是我4/1每日任務的 CodePen,這是助教的CodePen,共有兩個問題想請教: * 因為資料中除了一般整數外,還有"未分組"這個值,所以在JS第27行做了判斷,一開始嘗試了好幾種===的判斷皆無法順利執行,最後使用了isNaN 才解決,想請問助教這樣使用是正確的嗎? 還是有什麼更好的寫法呢? * 助教JS的10、18行使用=>來執行函式內容,請問這個寫法是單純省略function 嗎?還是有什麼特別用途呢? 以上兩個問題還請助教協助解答,感謝 🙏🏻 > 助教回覆: > 🐼 問題 1 > 我覺得用 !NaN 來寫還滿不錯的~ > 另外助教的那種判斷寫法, 現在的 code 應該是可以動 (?!) > 同學這個寫法很 ok 呀, 因為只是一個小判斷、只要可以正確判斷的都是好寫法 XDD > > 🐼 問題 2 > 那個是箭頭函式, ES6 新增的新方法。可以參考卡斯伯老師的[文章](https://wcc723.github.io/javascript/2017/12/21/javascript-es6-arrow-function/)。 > 至於助教這邊使用箭頭函式沒有特別用途歐。 > 同學也可以試著使用箭頭函式寫寫看, 程式碼看起來會不錯乾淨~ --- 3. **Jordan_Tseng** 老師助教同學好,這是我的code。我主要想問關於上週助教教的驗證方式,我先放圖片,如果要看完整的可以看連結。因為助教那天分享的是change,所以只要一改動就會驗證跑出文字。也可以用click。但我想要的效果是只有第一次按下送出後,驗證的同時,才綁定change效果。效果是成功,但我覺得寫的好像怪怪的,但又想不出哪裏。想請助教幫忙怎麼優化好。 > 助教回覆: > 這問題 ... 範圍有點廣啊 > 所以同學是想要問說 change 那邊的 code 有沒有問題這樣嗎(´・ω・`)?! > 我把你的檔案載下來看,個人比較好奇沒填資料時按送出、上面資料會消失的部分XDD > 驗證這邊的 code , 我覺得 change 包在裡面還 ok 阿, 用起來也滿正常的。 個人比較在意 checkOk = true 這個步驟好像比較攏。 > 要說的話, if 判斷式有兩個地方重複,可以抽出來。 > ![](https://i.imgur.com/MVdlrcG.png =x600) > 這邊給尼[參考 code](https://codepen.io/s_syoujyo/pen/YzpBLmo?editors=0010) , 我的是外面有一層 submit 監聽, 但把 change 放在外面 OAQ > 如果同學要的話可以按照你的寫法, 主要是程式碼綁 key 的地方可以獨立一個函式。 這部分可以再調整看看。 --- 4. **周周** 老師助教同學們好,這是我的 CodePen, 我原本預期「JS 第 136 行會在網頁上顯示各組的圖表」,但網頁上只出現最後一組」,想問下問題出在哪裡? > 助教回覆: > 要修正的地方滿多的歐 OAQ > 1. 同學取到的值是小組分數, 不是後面的趴數。 console.log 一下就會發現取錯哩。 >要這樣寫: `((groupNumTotal[item] / groupPeople) * 100).toFixed(1)` >2. 我覺得把渲染跟 c3 物件塞在回圈裡很怪, 渲染的話會變成一直重複渲染, 一直蓋掉、所以只會留下最後一筆資料。 但我這邊把它提出來會跳 undefined , 其他地方可能還要再修正一下。 >建議同學可以參考一下已完成組別的寫法。這邊也附上已完成組別的[範例](https://codepen.io/sandy3068/pen/LYxbpov?editors=0011)供同學參考。 >只剩下最後一組這點助教認為是因為同學把變數定義在回圈中, 渲染也在回圈中的關係。 >這邊應該要給設一個變數再回圈外, 用來累加回圈跑的每筆才是正確的。 > >同學再試著修改一下, 若有疑問歡迎再提出哩。 ---