• Как заменять много слов в строке одной строчкой кода?

    modelair
    @modelair
    unsocial
    let text = ':smile::smile: Hello! :like:'
    
    const smiley = {
      ':smile:': '😂',
      ':like:': '😎'
    }
    
    for (const smileyKey in smiley) {
      const regex = new RegExp(smileyKey, 'g')
      text = text.replace(regex, smiley[smileyKey])
    }
    
    console.log('text', text)
    Ответ написан
    Комментировать
  • Как заменять много слов в строке одной строчкой кода?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    То есть вы сами придумали, как должна работать библиотечная функция, а потом удивлетесь, что она работает не так, как вы придумали?
    const emojies= [
      [/:smile:/g, '😂'],
      [/:like:/g, '😎'],
    ];
    
    const emojiReplace = (text) => {
      let result = text;
      for (let i = 0; i < emojies.length; i += 1) {
        result = result.replace(emojies[i][0], emojies[i][1]);
      }
      return result;
    }
    
    console.log(emojiReplace(':smile::smile::smile::like:'));
    // &#128514;&#128514;&#128514;&#128526;
    Ответ написан
    Комментировать