3dstart
@3dstart
Ux/ Ui- designer

Как грамотно подойти к решению этой простой, но интересной задачи для начинающих?

Суть в следующем:

Условно есть список элементов
<ul>
	<li><a href="#"></a>Элемент списка1</li>
	<li><a href="#"></a>Элемент списка2</li>
	<li><a href="#"></a>Test Элемент списка3</li>
	<li><a href="#"></a>Элемент списка4</li>
	<li><a href="#"></a>Элемент списка5</li>
	<li><a href="#"></a>Элемент списка6</li>
	<li><a href="#"></a>Элемент списка7</li>
	<li><a href="#"></a>Deploy Элемент списка8</li>
	<li><a href="#"></a>Элемент списка9</li>
	<li><a href="#"></a>Элемент списка10</li>
</ul>

  1. Необходимо вставить слово «Тестировать» вначале каждого пункта элемента списка
  2. Все первые буквы наименования элементов, которые не начинаются со слов «Test» и «Deploy», должны быть в нижнем регистре


Соответственно должно получится нечто:
<ul>
	<li><a href="#"></a>Тестировать элемент списка1</li>
	<li><a href="#"></a>Тестировать элемент списка2</li>
	<li><a href="#"></a>Test элемент списка3</li>
	<li><a href="#"></a>Deploy элемент списка8</li>
</ul>


  • Тестировать элемент списка1
  • Тестировать элемент списка2
  • Test элемент списка3
  • Deploy элемент списка8


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

Посоветуйте как грамотно подойти к решению, заранее спасибо)
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 3
rockon404
@rockon404
Frontend Developer
if (!/^Test|^Deploy/.test(string)) {
  // do something
}

Регулярные выражения
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Поскольку тут нет множества вариантов форм слов, «дешевле» обойтись без регулярных выражений.

  1. Разбить на массив слов по пробелу.
  2. Пройтись по каждому слову и если оно != "Test" И != "Deploy", сделать ему toLowerCase()
  3. Первое слово != "Test" И != "Deploy" ? вставить "Тестировать" в начале массива.


Проверки в п.2 и 3. идентичны, поэтому можно оптимизировать их в одну.
Примерно так
Ответ написан
YumeReaver
@YumeReaver
Бургомистр
Решение с jQuery: JSFiddle
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы