如果字符串比给定参数长,则在字符串末尾添加句点
add periods to the end of string if it's longer than given argument
function truncate(str, num) {
if(str.length < num) {
return str;
}
else {
str = str.slice(0, num);
return str;
}
}
truncate('A-tisket a-tasket A green and yellow basket', 11);
//truncate('A-tisket a-tasket A green and yellow basket', 'A-tisket a-tasket
A green and yellow basket'.length)
//truncate('A-tisket a-tasket A green and yellow basket',
'A-tisket a-tasket A green and yellow basket'.length + 2)
如果字符串的长度比我的 num 参数长,我需要代码 return 'A-tisket...'。当我 运行 这段代码时,它会切片到 'A-tisket a-',当字符串的长度比我的 num 参数长时,我如何删除“a-”并在末尾添加句点?我尝试在 .split() 之后使用 .replace() 方法,但无法找到替换它的方法。
只需在末尾增加 trim 个字符(为句点腾出空间),然后将句点添加到 return 值字符串。
我还建议您根据自己的情况使用 <=
,否则您最终会在不需要时添加点。
最后,为了完全恢复,您需要确保不会被 'slicing' 以负长度环绕...
function truncate(str, num) {
if (str.length <= num) {
return str;
} else {
var append = "...";
var remove = num - append.length;
if (remove < 0) {
remove = 0;
append = append.slice(0, num);
}
str = str.slice(0, remove);
return str + append;
}
}
您可以使用 + 运算符将句点连接到字符串的末尾。
function truncate(str, num) {
if(str.length < num) {
return str;
}
else {
str = str.slice(0, num);
return str + "...";
}
}
好的!好消息是,您基本上已经拥有它了。
如果你想在末尾添加 ...
,你就快搞定了 - 只需将 return str
更改为 return str + "...";
为了确保当 num
等于字符串的长度时我们不添加 ...
,我们可以简单地将 <
更改为 <=
.
所以这给你:
function truncate(str, num) {
if(str.length <= num) {
return str;
} else {
str = str.slice(0, num);
return str + "...";
}
}
输出:
truncate('A-tisket a-tasket A green and yellow basket', 11);
>>> "A-tisket a-..."
truncate('A-tisket a-tasket A green and yellow basket',
'A-tisket a-tasket A green and yellow basket'.length);
>>> "A-tisket a-tasket A green and yellow basket"
truncate('A-tisket a-tasket A green and yellow basket',
'A-tisket a-tasket A green and yellow basket'.length + 2);
>>> "A-tisket a-tasket A green and yellow basket"
function truncate(str, num) {
if(str.length < num) {
return str;
}
else {
str = str.slice(0, num);
return str;
}
}
truncate('A-tisket a-tasket A green and yellow basket', 11);
//truncate('A-tisket a-tasket A green and yellow basket', 'A-tisket a-tasket
A green and yellow basket'.length)
//truncate('A-tisket a-tasket A green and yellow basket',
'A-tisket a-tasket A green and yellow basket'.length + 2)
如果字符串的长度比我的 num 参数长,我需要代码 return 'A-tisket...'。当我 运行 这段代码时,它会切片到 'A-tisket a-',当字符串的长度比我的 num 参数长时,我如何删除“a-”并在末尾添加句点?我尝试在 .split() 之后使用 .replace() 方法,但无法找到替换它的方法。
只需在末尾增加 trim 个字符(为句点腾出空间),然后将句点添加到 return 值字符串。
我还建议您根据自己的情况使用 <=
,否则您最终会在不需要时添加点。
最后,为了完全恢复,您需要确保不会被 'slicing' 以负长度环绕...
function truncate(str, num) {
if (str.length <= num) {
return str;
} else {
var append = "...";
var remove = num - append.length;
if (remove < 0) {
remove = 0;
append = append.slice(0, num);
}
str = str.slice(0, remove);
return str + append;
}
}
您可以使用 + 运算符将句点连接到字符串的末尾。
function truncate(str, num) {
if(str.length < num) {
return str;
}
else {
str = str.slice(0, num);
return str + "...";
}
}
好的!好消息是,您基本上已经拥有它了。
如果你想在末尾添加 ...
,你就快搞定了 - 只需将 return str
更改为 return str + "...";
为了确保当 num
等于字符串的长度时我们不添加 ...
,我们可以简单地将 <
更改为 <=
.
所以这给你:
function truncate(str, num) {
if(str.length <= num) {
return str;
} else {
str = str.slice(0, num);
return str + "...";
}
}
输出:
truncate('A-tisket a-tasket A green and yellow basket', 11);
>>> "A-tisket a-..."
truncate('A-tisket a-tasket A green and yellow basket',
'A-tisket a-tasket A green and yellow basket'.length);
>>> "A-tisket a-tasket A green and yellow basket"
truncate('A-tisket a-tasket A green and yellow basket',
'A-tisket a-tasket A green and yellow basket'.length + 2);
>>> "A-tisket a-tasket A green and yellow basket"