Javascript 使用 3 个参数进行切片
Javascript slicing with 3 parameters
我正在尝试对我的文本进行切片,如果文本的字符长度超过给定值,则文本应该从 0 切片到该值 + 直到找到下一个点为止,所以我们避免在句子中间切分文本。
我尝试了以下
function shorten(text, num)
{
var fulltext=text.toString();
var firstdot = fulltext.indexOf(".");
if (fulltext.length < num)
{
return fulltext;
}
else
{
return fulltext.slice(0, (num + fulltext.indexOf(".")));
}
}
所以逻辑是,如果文本低于给定值,则全文 returned,如果不是,我想切片文本,但也包括文本,直到下一个点。
因此,一旦达到 num 值(以字符为单位),它应该继续搜索,直到找到下一个点,然后停止。
我想要给出的例子让我们说 10 作为 num 值。
"您好,这是一个测试示例,这部分应该被删除。"
应该return:“你好。这是一个测试例子。”但它会 return "Hello.This"
请像这样更改一些代码
function shorten(text, num)
{
const fulltext=text.toString();
const firstdot = fulltext.indexOf(".", num);
return fulltext.length < num ? fulltext : fulltext.slice(0, firstdot + 1);
}
console.log(shorten("Hello. This is a test example. This part should be removed.", 10));
var str = "Hello. This is a test example. This part should be removed."
function shorten(text,num){
let dot = text.indexOf(".",num),
end = dot>=0?dot+1:num
return text.slice(0,end)
}
console.log(shorten(str,6))
一些定义
让我们说限制 num = 10
indexOf(".",num)
因为我在不关心点的情况下取了 10 个字母,所以我开始检查 10 个字母后的 .
,这就是第二个参数在这里所做的
dot>=0?dot+1:num
这是一个简写,它检查 dot
是否大于或等于 0 如果它为真则 return 点的值否则 return num
值
(dot+1) +1
用于在没有此结果的切片时取最后一个点
我正在尝试对我的文本进行切片,如果文本的字符长度超过给定值,则文本应该从 0 切片到该值 + 直到找到下一个点为止,所以我们避免在句子中间切分文本。
我尝试了以下
function shorten(text, num)
{
var fulltext=text.toString();
var firstdot = fulltext.indexOf(".");
if (fulltext.length < num)
{
return fulltext;
}
else
{
return fulltext.slice(0, (num + fulltext.indexOf(".")));
}
}
所以逻辑是,如果文本低于给定值,则全文 returned,如果不是,我想切片文本,但也包括文本,直到下一个点。 因此,一旦达到 num 值(以字符为单位),它应该继续搜索,直到找到下一个点,然后停止。
我想要给出的例子让我们说 10 作为 num 值。 "您好,这是一个测试示例,这部分应该被删除。"
应该return:“你好。这是一个测试例子。”但它会 return "Hello.This"
请像这样更改一些代码
function shorten(text, num)
{
const fulltext=text.toString();
const firstdot = fulltext.indexOf(".", num);
return fulltext.length < num ? fulltext : fulltext.slice(0, firstdot + 1);
}
console.log(shorten("Hello. This is a test example. This part should be removed.", 10));
var str = "Hello. This is a test example. This part should be removed."
function shorten(text,num){
let dot = text.indexOf(".",num),
end = dot>=0?dot+1:num
return text.slice(0,end)
}
console.log(shorten(str,6))
一些定义
让我们说限制 num = 10
indexOf(".",num)
因为我在不关心点的情况下取了 10 个字母,所以我开始检查 10 个字母后的 .
,这就是第二个参数在这里所做的
dot>=0?dot+1:num
这是一个简写,它检查 dot
是否大于或等于 0 如果它为真则 return 点的值否则 return num
值
(dot+1) +1
用于在没有此结果的切片时取最后一个点