Ich versuche folgendes zu erreichen:einen String in Javascript Kürzen
Kürzt einen String (erstes Argument), wenn es länger als die vorgegebene maximale Stringlänge (zweites Argument) ist. Geben Sie die abgeschnittene Zeichenfolge mit einem ... ending zurück.
Beachten Sie, dass das Einfügen der drei Punkte zum Ende die Länge des Strings erhöht.
Wenn jedoch die angegebene maximale Zeichenfolgenlänge num kleiner oder gleich 3 ist, addiert die Addition der drei Punkte nicht zur Zeichenfolgenlänge bei der Bestimmung der abgeschnittenen Zeichenfolge.
Der Code, den ich habe, wird nur bestanden, wenn mein num> 2, sonst scheitert es.
function truncateString(str, num) {
// Clear out that junk in your trunk
var trunString = "";
if (str.length > num) {
trunString = str.slice(0, (num -3)) + "...";
return trunString;
}
return str;
}
truncateString("A-", 1);
eine Lösung gefunden:
var trunString = "";
if (str.length > num && num >= 4) {
trunString = str.slice(0, (num - 3)) + "...";
return trunString;
}
else if (str.length > num && num <= 3) {
trunString = str.slice(0, (num)) + "...";
return trunString;
}
Hinweis helfen: Anstelle von 3 Punkten (3 Zeichen), vielleicht können Sie auf die Ellipsen verwenden '...' Zeichen selbst (Zeichen). – techfoobar
Oder betrachte diese '3' Zeichen während der Manipulation..Wie https://jsfiddle.net/rayon_1990/w7to3g5p/ – Rayon
Es wird, wie Sie 3 von Ihrem num subtrahieren. Wenn es 2 oder kleiner ist, dann produziert 2 entweder 0 oder negativ und Ihr Slice funktioniert nicht bei negativen Zahlen. – LearningPhase