Как я могу улучшить свой первый пользователь script?

Я написал мой первый пользователь Greasemonkey script, чтобы найти запросы на логотип колледж-футбол subreddit.

Одна морщина должна искать подходящую таблицу стилей, а после ее обнаружения я просматриваю атрибуты selectorText documents.styleSheets[i].cssRules для известных имен пользователей.

Сначала я использовал следующий код для поиска комментариев пользователя

var missing = new Array();
var authors = document.evaluate(
                "//p[@class='tagline']/a[contains(@class, 'author')]",
                document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
                null);
for (var i = authors.snapshotLength - 1; i >= 0; i--) {
  var a = authors.snapshotItem(i);
  if (!hasLogo.hasOwnProperty(a.innerHTML)) {
    missing.push(a.innerHTML);
  }
}

но jQuery делает это настолько кратким!

var missing = [];
$("p.tagline a.author").each(
  function (index) {
    var name = $(this).text();
    if (!hasLogo.hasOwnProperty(name))
      missing.push(name);
  });

Пожалуйста, предложите дополнительные улучшения!

Ответ 1

Вы можете использовать .map(), чтобы немного сократить его, и .innerHTML вместо создания нового объекта jQuery для захвата .text(), учитывая особенности того, как авторы находятся на странице, например:

var missing = $("p.tagline a.author").map(function() {
  var name = this.innerHTML;
  return !hasLogo.hasOwnProperty(name) && name;
}).get();