jQuery объединяет переменные, если оба имеют значение?

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

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

И я пытаюсь выработать способ объединить две переменные (только если они существуют).

Вот что у меня есть:

var thisVal = $('.password_input').val(),
    thisStrength = zxcvbn(thisVal),
    thisMeter = $('.password_strength_meter'),
    thisLabel = $('.password-text'),
    thisSuggestion = $('.password-text-suggest');

thisSuggestion.text(thisStrength.feedback.warning + ". " thisStrength.feedback.suggestions);

Если

Будет ли лучший способ действительно выполнять несколько операторов if? Или есть способ вставить его в раздел .text ()?

Я планирую, возможно, расширить это, включив время, которое потребуется для взлома:

thisSuggestion.text(thisStrength.feedback.warning + ". This password could be cracked in: " + thisStrength.crack_times_display['online_no_throttling_10_per_second'] + ". " + thisStrength.feedback.suggestions);

так что, надеюсь, можно избежать нескольких утверждений.

javascript,jquery,concatenation,zxcvbn,

0

Ответов: 1


1 принят

Быстрый и чистый способ сделать это - добавить все переменные, которые могут содержать строки в массиве. Затем вы можете отфильтровать пустые или ложные значения и соединить оставшиеся с выбранным разделителем.

const a = 'This will be there',
  b = '',
  c = null,
  d = 'So will this';

let result = [a, b, c, d].filter(x => x).join('. ') + '.';

console.log(result);

JavaScript, JQuery, конкатенация, zxcvbn,
Похожие вопросы