x94fujo6

skillDataHarvester

Dec 12th, 2021 (edited)
1,108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function skillDataHarvester() {
  2.   // https://wiki.biligame.com/blhx/%E6%8A%80%E8%83%BD
  3.   let
  4.     template = {
  5.       id: "",
  6.       name: "",
  7.       ship_type: "",
  8.       s1: "",
  9.       s2: "",
  10.       s3: "",
  11.       s4: "",
  12.     },
  13.     data = {},
  14.     eff_data = {};
  15.   [...document.querySelectorAll(".wikitable.sortable.jquery-tablesorter>tbody tr")]
  16.     .forEach(tr => {
  17.       let new_data = Object.assign({}, template);
  18.       Object.keys(new_data).forEach((key, i) => {
  19.         new_data[key] = tr.children[i].innerText.trim();
  20.       });
  21.       data[new_data.id] = new_data;
  22.       if (isSkillHaveEff(new_data)) eff_data[new_data.id] = new_data;
  23.     });
  24.  
  25.   return [data, eff_data]; // [全部技能, 僅技能包含效率的船]
  26.  
  27.   function isSkillHaveEff(obj) {
  28.     let
  29.       target = ["s1", "s2", "s3", "s4"],
  30.       reg = /效率/;
  31.     return target.some(key => obj[key].match(reg));
  32.   }
  33. }
Add Comment
Please, Sign In to add comment