#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)}`; } }