@SergeiB

Можно ли упростить данную функцию?

Написал функцию, которая добавляет пробел до или после передаваемого значения:
addWhitespace

const addWhitespace = (value, ...position) => {
  if (value) {
    const before = position.includes('before') ? ' ' : '';
    const after = position.includes('after') ? ' ' : '';

    return `${before}${value}${after}`;
  }
};
// addWhitespace('Hello', 'before'); --> " Hello"
// addWhitespace('Hello', 'after'); --> "Hello "
// addWhitespace('Hello', 'before', 'after'); --> " Hello "

Нормальна ли такая реализация или можно сделать проще?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 2
webdisigner
@webdisigner
const addWhitespace = (value, b='', a='') => {
  if (value) {
    return `${b}${value}${a}`;
  }
};

addWhitespace('abc', ' ', ' ') // ' abc '


да не парься ты
Ответ написан
Комментировать
WblCHA
@WblCHA
const addWhitespace = (value, options = {}) => `${options.before ? ' ' : ''}${value}${options.after ? ' ' : ''}`;
  
  addWhitespace('Hello', { before: true, after: true }); // --> " Hello "

Объект и булин в перспективе будут намного удобнее, поскольку не придётся писать дополнительные условия, когда у тебя появится булева переменная, отвечающая за необходимость добавлять пробелы.
Да и в целом объект почти всегда будет удобнее, чем такая реализация.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы