Как преобразовать строку с запятыми в строку с хэштегами - ES6 - PullRequest
1 голос
/ 22 марта 2020

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

То, что я пробовал до сих пор, ниже. Он дает отдельные элементы при использовании map. Как мне сделать это единственной строкой с добавлением # перед каждым элементом в массиве.

const tags = 'caramel,vanilla,chocolate';

const splitArray = tags.split(",").map(val=> console.log('#'+val));

Ответы [ 4 ]

5 голосов
/ 22 марта 2020

Вы можете использовать .replace() вместо глобальных и расширять с помощью # в начале.

Расширять с помощью литералов шаблона , используя # в место первого персонажа:

const tags = 'caramel,vanilla,chocolate';
const result = `#${tags.replace(/,/g, '#')}`;
console.log(result);

Или, как Патрик предложил в разделе комментариев с /^|,/g в RegExp:

const tags = 'caramel,vanilla,chocolate';
const result = tags.replace(/^|,/g, '#');
console.log(result);
1 голос
/ 22 марта 2020

Использование Уменьшение .

const tags = 'caramel,vanilla,chocolate';

const splitArray = tags.split(",").reduce( (res,val) => (res+'#'+val) ,'');
console.log(splitArray);
1 голос
/ 22 марта 2020

Вы можете использовать .join(''):

const tags = 'caramel,vanilla,chocolate';

const result = tags.split(",").map(val=> "#"+val).join('');
console.log(result);
0 голосов
/ 23 марта 2020

Я считаю, что замена basei c сделает это быстрее. Проверьте это:

 const tags = 'caramel,vanilla,chocolate';

 var hastags = (tags, sp) => {
     return typeof tags === "string" && tags.trim() ? "#" + tags.replace(sp || ",", "#") : "";
 };

 console.log(hastags(tags, ","));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...