Skip to content

Commit 45bc4ca

Browse files
committed
refactor(core): improve variable naming and iteration patterns
1 parent 6810f8c commit 45bc4ca

File tree

1 file changed

+34
-38
lines changed

1 file changed

+34
-38
lines changed

liaune/bangumi_related_subject_enhance.user.js

Lines changed: 34 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -176,34 +176,28 @@ height: 100%;
176176
count1 = 0,
177177
flag = 0;
178178

179-
let itemsList1 = document.querySelectorAll(
179+
let relatedSubjects = document.querySelectorAll(
180180
"#columnSubjectHomeB ul.browserCoverMedium li:not(:has(a.thumbTipSmall))"
181181
);
182-
let itemsList2 = document.querySelectorAll(
182+
let recommendedSubjects = document.querySelectorAll(
183183
"#columnSubjectHomeB ul.coversSmall li"
184184
);
185-
let itemsList3 = document.querySelectorAll(
185+
let volumeSubjects = document.querySelectorAll(
186186
"#columnSubjectHomeB ul.browserCoverMedium li:has(a.thumbTipSmall)"
187187
);
188188

189-
let itemsList = [];
190-
for (let i = 0; i < itemsList1.length; i++) itemsList.push(itemsList1[i]);
191-
for (let i = 0; i < itemsList2.length; i++) itemsList.push(itemsList2[i]);
189+
let itemsList = [...relatedSubjects, ...recommendedSubjects];
192190

193-
if (localStorage.getItem("bangumi_subject_collectStatus")) {
194-
collectStatus = JSON.parse(
195-
localStorage.getItem("bangumi_subject_collectStatus")
196-
);
197-
} else {
198-
collectStatus = {};
199-
}
191+
collectStatus = JSON.parse(
192+
localStorage.getItem("bangumi_subject_collectStatus") || "{}"
193+
);
200194

201195
let badgeUserPanel = document.querySelectorAll("#badgeUserPanel a");
202-
badgeUserPanel.forEach((elem) => {
196+
for (const elem of badgeUserPanel) {
203197
if (elem.href.match(/logout/)) {
204198
securitycode = elem.href.split("/logout/")[1].toString();
205199
}
206-
});
200+
}
207201

208202
// 更新排名数据
209203
let isUpdating = false;
@@ -218,7 +212,7 @@ height: 100%;
218212
updateInfo();
219213
});
220214

221-
if (itemsList3.length) {
215+
if (volumeSubjects.length) {
222216
document
223217
.querySelectorAll("#columnSubjectHomeB .subject_section .clearit")[1]
224218
.append(updateBtn);
@@ -243,7 +237,7 @@ height: 100%;
243237
getInfo(update);
244238
}
245239

246-
if (itemsList3.length) {
240+
if (volumeSubjects.length) {
247241
let mangaControlPanel = document.createElement("div");
248242
mangaControlPanel.className = "manga-control-panel";
249243

@@ -270,12 +264,12 @@ height: 100%;
270264
return;
271265
}
272266

273-
let i = 0;
267+
let volumeIndex = 0;
274268
flag = flag == 1 ? 0 : 1;
275269
allCollect.textContent = flag == 1 ? "全部取消已读" : "全部标为已读";
276270

277-
let getitemsList3 = setInterval(function () {
278-
let elem = itemsList3[i];
271+
let getVolumeSubjects = setInterval(function () {
272+
let elem = volumeSubjects[volumeIndex];
279273
let { href } = elem.querySelector("a.avatar");
280274
let ID = href.split("/subject/")[1];
281275
let avatarNeue = elem.querySelector("span.avatarNeue");
@@ -301,13 +295,13 @@ height: 100%;
301295
});
302296
}
303297

304-
i++;
298+
volumeIndex++;
305299
localStorage.setItem(
306300
"bangumi_subject_collectStatus",
307301
JSON.stringify(collectStatus)
308302
);
309-
if (i >= itemsList3.length) {
310-
clearInterval(getitemsList3);
303+
if (volumeIndex >= volumeSubjects.length) {
304+
clearInterval(getVolumeSubjects);
311305
}
312306
}, 300);
313307
};
@@ -373,7 +367,7 @@ height: 100%;
373367
if (itemsList.length) {
374368
let fetchList = [],
375369
fetchList1 = [];
376-
itemsList.forEach((elem) => {
370+
for (const elem of itemsList) {
377371
let { href } = elem.querySelector("a.avatar");
378372
let href1 = href.replace(/subject/, "update");
379373
let ID = href.split("/subject/")[1];
@@ -392,49 +386,51 @@ height: 100%;
392386
} else {
393387
fetchList1.push(elem);
394388
}
395-
});
396-
let i = 0,
397-
j = 0;
389+
}
390+
391+
let rankFetchIndex = 0,
392+
collectFetchIndex = 0;
398393
let getitemsList = setInterval(function () {
399-
let elem = fetchList[i];
394+
let elem = fetchList[rankFetchIndex];
400395
if (!elem) {
401-
// console.log(i);
396+
// console.log(rankFetchIndex);
402397
} else {
403398
let { href } = elem.querySelector("a.avatar");
404399
showRank(href, elem);
405-
i++;
406-
//console.log(i);
400+
rankFetchIndex++;
401+
//console.log(rankFetchIndex);
407402
}
408403
if (count >= itemsList.length) {
409404
clearInterval(getitemsList);
410405
}
411406
}, 500);
412407
let getitemsList1 = setInterval(function () {
413-
let elem = fetchList1[j];
408+
let elem = fetchList1[collectFetchIndex];
414409
if (!elem) {
415-
// console.log(j);
410+
// console.log(collectFetchIndex);
416411
} else {
417412
let { href } = elem.querySelector("a.avatar");
418413
let href1 = href.replace(/subject/, "update");
419414
showCollect(href1, elem);
420-
j++;
421-
//console.log(j);
415+
collectFetchIndex++;
416+
//console.log(collectFetchIndex);
422417
}
423418
if (count1 >= itemsList.length) {
424419
clearInterval(getitemsList1);
425420
}
426421
}, 500);
427422
}
428-
if (itemsList3.length) {
429-
itemsList3.forEach((elem) => {
423+
424+
if (volumeSubjects.length) {
425+
for (const elem of volumeSubjects) {
430426
let { href } = elem.querySelector("a");
431427
let ID = href.split("/subject/")[1];
432428
if (collectStatus[ID]) {
433429
displayCollect(collectStatus[ID], elem);
434430
} else if (collectStatus[ID] != "collect") {
435431
showCheckIn(elem, ID);
436432
}
437-
});
433+
}
438434
}
439435

440436
let thisItem = window.location.href.replace(/subject/, "update");

0 commit comments

Comments
 (0)