ae_ph
@ae_ph
Если помог - отметь решением \( ゚ヮ゚)/

Возможно ли сократить данный JS код?

Возможно ли как-то сократить данный JS код?
Не используя при этом jQuery и я не про минификацию.

let doc = document,
        inp1 = doc.querySelector("[name='name']").value,
        inp2 = doc.querySelector("[name='socialname']").value,
        inp3 = doc.querySelector("[name='numberfo']").value,
        inp4 = doc.querySelector("[name='email']").value,
        inp5 = doc.querySelector("[name='text']").value,
        filter1 = escape(inp1),
        filter2 = escape(inp2),
        filter3 = escape(inp3),
        filter4 = escape(inp4),
        filter5 = escape(inp5);
    doc.querySelector("[name='name']").value = filter1;
    doc.querySelector("[name='socialname']").value = filter2;
    doc.querySelector("[name='numberfo']").value = filter3;
    doc.querySelector("[name='email']").value = filter4;
    doc.querySelector("[name='text']").value = filter5;
  • Вопрос задан
  • 126 просмотров
Решения вопроса 3
delphinpro
@delphinpro
frontend developer
['name', 'socialname', 'numberfo', 'email', 'text'].forEach(name => {
  let input = document.querySelector(`[name='${name}']`);
  input.value = escape(input.value);
});
Ответ написан
bootd
@bootd
Гугли и ты откроешь врата знаний!
// Дать нужным полям 1 класс
const fields = Array.from(document.querySelectorAll('.data-field'));

fields.forEach(field => {	
	field.value = escape(field.value);
});
Ответ написан
saintbyte
@saintbyte
Django developer
Ну для начала так

function s2(s)
{
doc.querySelector(s).value = escape(doc.querySelector(s).value);
}
s2("[name='name']")
s2("[name='socialname']")
s2("[name='numberfo']")
s2("[name='email']")
s2("[name='text']")
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AstraVlad
Финансист, консультант, программист-любитель
Делаем массив строк поиска, из него через map() делаем массив inp, из него опять через map() массив filter. Потом запускаем for... of по массиву строк поиска, одновременно наращивая переменную-счетчик и меняем значения value соответствующих элементов на значения из массива filter.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽