Как добавить текст только один раз в цикле

Как добавить текст рядом с каждой соответствующей ссылкой?

for (var i = 0; i < author.length; i++) {
  var adminID = author[i]["href"].match(//users/(\d+)/g);
  for (var j = 0; j < userID.length; j++) {
    if (adminID == userID[j]) {
      $(`a[href* = "${userID[j]}"]`).append('<span>text</span>');
    }
  }
}

Я не уверен, что понимаю. Можете ли вы показать значения author и userID и как вы хотите изменить HTML?

Barmar 14.03.2019 01:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
46
2

Ответы 2

Объявите флаг, указывающий, что он был добавлен

for (var i = 0; i < author.length; i++) {
  var adminID = author[i]["href"].match(//users/(\d+)/g);
  var appended = false;
  for (var j = 0; j < userID.length; j++) {
    if (adminID == userID[j] && !appended) {
      appended = true;
      $(`a[href* = "${userID[j]}"]`).append('<span>text</span>');
    }
  }
}

Почему бы просто не использовать break для завершения внутреннего цикла?

Barmar 14.03.2019 01:39

Что, если во внешнем цикле есть дубликат adminID? Он будет соответствовать одному и тому же идентификатору несколько раз.

Barmar 14.03.2019 01:41

Я понятия не имею, какой у него набор данных, и не хочет ли он использовать дополнительную логику.

Adrian Brand 14.03.2019 01:41

Да, я просил разъяснений выше. Я не считаю это достаточно ясным, чтобы хорошо ответить.

Barmar 14.03.2019 01:42

Только break потом:

for (var i = 0; i < author.length; i++) {
  var adminID = author[i]["href"].match(//users/(\d+)/g);
  for (var j = 0; j < userID.length; j++) {
    if (adminID == userID[j]) {
      $(`a[href* = "${userID[j]}"]`).append('<span>text</span>');
      break;
    }
  }
}

Другие вопросы по теме