Как обрезать строку до N символов в Javascript?

Как я могу, используя Javascript, сделать функцию, которая будет обрезать строку, переданную как аргумент, до заданной длины, также переданной как аргумент. Например:

var string = "this is a string";
var length = 6;
var trimmedString = trimFunction(length, string);

// trimmedString should be:
// "this is"

у кого-нибудь есть идеи? Я слышал что-то об использовании подстроки, но не совсем понял.

4 ответов


почему бы просто не использовать подстроку... string.substring(0, 7); первый аргумент (0) является отправной точкой. Второй аргумент (7) является конечной точкой (исключающей). подробнее здесь.

var string = "this is a string";
var length = 7;
var trimmedString = string.substring(0, length);

копирование Уилл комментарий в ответ, потому что мне показалось полезным:

var string = "this is a string";
var length = 20;
var trimmedString = string.length > length ? 
                    string.substring(0, length - 3) + "..." : 
                    string;

Благодарности.

и jsfiddle для всех, кто заботится https://jsfiddle.net/t354gw7e/ :)



Я предлагаю использовать расширение для аккуратности кода

String.prototype.trim = function (length) {
  return this.length > length ? this.substring(0, length) + "..." : this;
}

и используйте его как:

var stringObject= 'this is a verrrryyyyyyyyyyyyyyyyyyyyyyyyyyyyylllooooooooooooonggggggggggggsssssssssssssttttttttttrrrrrrrrriiiiiiiiiiinnnnnnnnnnnnggggggggg';
stringObject.trim(25)