Last active
          October 24, 2023 07:59 
        
      - 
      
- 
        Save Ran350/c5ca3c16f5a64fc7c7b8fe31342abbb1 to your computer and use it in GitHub Desktop. 
    "履修状況確認(受講登録内容・成績一覧)ページ"での実行で各成績の個数を表示するブックマークレット(※P/F評価の場合はPをカウントしません)
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | // ブックマークレット | |
| // ↓の一行をブックマークのURLにコピペしてね | |
| javascript:(function(){const grades=[{name:"A+",credit1:0,credit2:0},{name:"A",credit1:0,credit2:0},{name:"B",credit1:0,credit2:0},{name:"C",credit1:0,credit2:0},{name:"F",credit1:0,credit2:0},];const creditsElms=[...document.querySelectorAll("#content>div.result_list>div.result_list>table>tbody>tr>td:nth-child(5)"),];const gradesElms=[...document.querySelectorAll("#content>div.result_list>div.result_list>table>tbody>tr>td:nth-child(6)"),];for(let i=0;i<gradesElms.length;i++){if(creditsElms[i].textContent==="1"){grades.map((grade)=>{if(gradesElms[i].textContent===grade.name)grade.credit1++;});}if(creditsElms[i].textContent==="2"){grades.map((grade)=>{if(gradesElms[i].textContent===grade.name)grade.credit2++;});}}const outs=grades.map((grade)=>{return`${grade.name} 1単位: ${grade.credit1} 2単位: ${grade.credit2}`;});alert(outs.join("\n"));})(); | |
| // 原文 | |
| (function () { | |
| const grades = [ | |
| { name: "A+", credit1: 0, credit2: 0 }, | |
| { name: "A", credit1: 0, credit2: 0 }, | |
| { name: "B", credit1: 0, credit2: 0 }, | |
| { name: "C", credit1: 0, credit2: 0 }, | |
| { name: "F", credit1: 0, credit2: 0 }, | |
| ]; | |
| const creditsElms = [ | |
| ...document.querySelectorAll( | |
| "#content > div.result_list > div.result_list > table > tbody > tr > td:nth-child(5)" | |
| ), | |
| ]; | |
| const gradesElms = [ | |
| ...document.querySelectorAll( | |
| "#content > div.result_list > div.result_list > table > tbody > tr > td:nth-child(6)" | |
| ), | |
| ]; | |
| for (let i = 0; i < gradesElms.length; i++) { | |
| // 1単位 | |
| if (creditsElms[i].textContent === "1") { | |
| grades.map((grade) => { | |
| if (gradesElms[i].textContent === grade.name) grade.credit1++; | |
| }); | |
| } | |
| // 2単位 | |
| if (creditsElms[i].textContent === "2") { | |
| grades.map((grade) => { | |
| if (gradesElms[i].textContent === grade.name) grade.credit2++; | |
| }); | |
| } | |
| } | |
| const outs = grades.map((grade) => { | |
| return `${grade.name} 1単位:${grade.credit1} 2単位:${grade.credit2}`; | |
| }); | |
| const sum = | |
| grades.map(g=>g.credit1).reduce((sum, element) => sum + element, 0) + | |
| grades.map(g=>g.credit2).reduce((sum, element) => sum + 2*element, 0); | |
| outs.push("履修合計: " + sum); | |
| alert(outs.join("\n")); | |
| })(); | |
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment