Эллипс в середине строки в Javascriptt

#javascript #reactjs #react-native #function #ecmascript-6

#язык JavaScript #реагирует на #реагировать-родной #функция #ecmascript-6

Вопрос:

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

Так, например, если у меня есть dkjkjfdljfldkjfssdfsf

Это должно быть показано как

dkjkj…sdfsf

У меня до сих пор есть эта функция:

функция ellipsizeIt(текст, длина) { если (текст.длина gt; длина) { возврат gt; ${text.substring(0, length)}...${text.substring(0, length)} ; } возвращает текст; }

Но это просто повторение строки из первых пяти символов, когда я это делаю:

 ellipsizeIt(text, 5);  

Это покажет, как

дкджкдж…дкджкдж

Любой способ сделать это так, чтобы он просто не повторял первые пять символов в конце строки и не показывал фактические последние 5 символов?

Комментарии:

1. Что делать, если длина строки нечетная?

2. myString.substring(myString.length - 5) кажется, я получаю последние 5 символов из строки

3. чет или нечет-это нормально

4. Если длина строки нечетная, скажем, 11 символов, вы бы увеличили размер эллипса после 5-го символа, после 6-го символа или заменили бы 6 — й символ?

Ответ №1:

Из приведенного выше кода следует, что у вас возникла проблема с опечаткой/логикой ${text.substring(0, length)}...${text.substring(0,length)} ;.

Вы повторяетесь, как и код.

обновите свой код до

 function ellipsizeIt(text, length) {  if (text.length gt; length) {  return `${text.substring(0, length)}...${text.substring(text.length -length)}`;   } }