Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每行100字_Javascript_Arrays_For Loop - Fatal编程技术网

Javascript 每行100字

Javascript 每行100字,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我遇到了一个问题,我浏览了一段大约1000个单词的文字,假设它将单词除以空格,最大行长为100个字符。行长度应尽可能接近,但不超过每行100个字符的限制 问题是我只是每100个字符拆分一个字符串(忽略单词)。因为我正在舍入,这意味着在最后一次迭代中可能会留下一些字符 我想知道是否有人可以帮我解决这个问题,并创建一个更好的函数来完成这项工作 我的JS: const paragraph = "Lorem ipsum dolor sit amet, consectetuer adipiscing el

我遇到了一个问题,我浏览了一段大约1000个单词的文字,假设它将单词除以空格,最大行长为100个字符。行长度应尽可能接近,但不超过每行100个字符的限制

问题是我只是每100个字符拆分一个字符串(忽略单词)。因为我正在舍入,这意味着在最后一次迭代中可能会留下一些字符

我想知道是否有人可以帮我解决这个问题,并创建一个更好的函数来完成这项工作

我的JS:

const paragraph = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam nibh. Nunc varius facilisis eros. Sed erat. In in velit quis arcu ornare laoreet. Curabitur adipiscing luctus massa. Integer ut purus ac augue commodo commodo. Nunc nec mi eu justo tempor consectetuer. Etiam vitae nisl. In dignissim lacus ut ante. Cras elit lectus, bibendum a, adipiscing vitae, commodo et, dui. Ut tincidunt tortor. Donec nonummy, enim in lacinia pulvinar, velit tellus scelerisque augue, ac posuere libero urna eget neque. Cras ipsum. Vestibulum pretium, lectus nec venenatis volutpat, purus lectus ultrices risus, a condimentum risus mi et quam. Pellentesque auctor fringilla neque. Duis eu massa ut lorem iaculis vestibulum. Maecenas facilisis elit sed justo. Quisque volutpat malesuada velit.",

  lines = Math.round(paragraph.length / 100);

let line = 0;

for (let i = 0; lines > i; i++) {
    document.body.innerHTML += paragraph.slice(line, line + 100) + '<br>';
const段落=“Lorem ipsum Door sit amet,是一位杰出的领导者。南尼布。性欲的变化。塞德·埃拉特。在维利特·奎斯·阿尔库·奥纳雷·拉奥里特。库拉比图·阿迪皮斯·卢克图斯·马萨。整型purus ac augue commodo commodo。我只是暂时的继承人。这是我的生命。在显贵的场合,你可以说。精英莱克图斯,酒后驾车,告别生活,酒后驾车。这是一个侵权人。多涅克·诺努米,拉齐尼亚·普尔文纳的埃尼姆,威利特·泰勒斯·斯克莱里斯·奥古斯,自由女神艾格·内克。同侧腕关节。前庭,威尼斯人的前庭,额外的前庭,调味品前庭。佩伦茨克拍卖商弗林蒂利亚·内克。前庭有两个房间。我们的设备是精英。奎斯克·帕特·马莱苏亚达·维利特。”,
线条=数学圆(段落长度/100);
设直线=0;
for(设i=0;行>i;i++){
document.body.innerHTML+=段落.slice(第行,第+100行)+'
';
小提琴链接:

我的计算方法是,我们有N,它>=1000,我需要能够创建由行长度>=100的空格分隔的单词行

javascript不是我的强项,但我尝试了一下,因此任何关于修复此问题的帮助都会很好。

您可以使用
.slice()
并通过
100
增加传递给方法的参数

let chunks = paragraph.split(/\s/);

for (let i = 0, n = 100; i < chunks.length; i += 100, n += 100) {
  document.body.innerHTML += chunks.slice(i, n).join(" ") + '<br>';
}
正文{
空白:预处理;
}
您可以使用
.slice()
并通过
100

let chunks = paragraph.split(/\s/);

for (let i = 0, n = 100; i < chunks.length; i += 100, n += 100) {
  document.body.innerHTML += chunks.slice(i, n).join(" ") + '<br>';
}
正文{
空白:预处理;

}
您的段落大约有1000个单词,您不能保证有100个字符的倍数,因此最后一行的结尾可能会稍微少一点

您可能想先将段落按每个单词分开,我们假设没有特殊的格式,在本例中只按每个空格分开

var listWords = paragraph.split(" ");
现在,您希望每行最多包含100个字符,只需迭代单词并将它们添加到一行中,直到单词的长度过长

var line = "";
var lineLength = 0;
var fullBody = "";
for (var i = 0; i < listWords.length; i++){
   if (lineLength + listWords[i].length > 100){
     fullBody += line + "<br>";
     line = "";
     lineLength = 0;
   }
   line += listWords[i] + " ";
   lineLength += listWords[i].length + 1;
}
document.body.innerHTML += fullBody;
var-line=”“;
var lineLength=0;
var fullBody=“”;
for(var i=0;i100){
全身+=线条+“
”; 第“”行; 线宽=0; } 行+=列表字[i]+“”; lineLength+=listWords[i]。长度+1; } document.body.innerHTML+=全文;
这是一个快速的解决方案,我相信它可以做得更好(不留下尾随空格),但它应该说明解决问题的方法


根据Jonas w的建议,让我们将innerHTML移到底部以加快速度。

您的段落大约有1000个单词,您不能保证有100个字符的倍数,因此最后一行可能会以略少的字符结尾

您可能想先将段落按每个单词分开,我们假设没有特殊的格式,在本例中只按每个空格分开

var listWords = paragraph.split(" ");
现在,您希望每行最多包含100个字符,只需迭代单词并将它们添加到一行中,直到单词的长度过长

var line = "";
var lineLength = 0;
var fullBody = "";
for (var i = 0; i < listWords.length; i++){
   if (lineLength + listWords[i].length > 100){
     fullBody += line + "<br>";
     line = "";
     lineLength = 0;
   }
   line += listWords[i] + " ";
   lineLength += listWords[i].length + 1;
}
document.body.innerHTML += fullBody;
var-line=”“;
var lineLength=0;
var fullBody=“”;
for(var i=0;i100){
全身+=线条+“
”; 第“”行; 线宽=0; } 行+=列表字[i]+“”; lineLength+=listWords[i]。长度+1; } document.body.innerHTML+=全文;
这是一个快速的解决方案,我相信它可以做得更好(不留下尾随空格),但它应该说明解决问题的方法


根据Jonas w的建议,让我们将innerHTML移到底部以加快速度。

只要行不超过100个字符,就应该在空格上拆分。

var paration='Lorem ipsum door sit amet,concetetuer adipise elit.Nam nibh.Nunc varius facilisis eros.Sed erat.In velit quis arcu or nare laoreet.Curabitur adipise luctus massa.Integer ut purus ac augue commodo.Nunc nec mi eu just tempoor concetetuer.Etiam vitae nisl.In dignessim lausm lauds lacus ut ante.Cras elite lectus这是一个很好的例子,它的意思是:“我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们。”前庭是一个巨大的前庭,前庭是一个巨大的前庭,前庭是一个巨大的前庭;
var结果=“”;
//还有文本需要解析
而(段落长度>100){
//在前100个字符中查找最后一个空格字符
var lastSpace=段落子字符串(0100).lastIndexOf(“”);
//将区块添加到结果中
结果+=段落子字符串(0,lastSpace)+'

'; //从原始正文中删除已使用的块 段落=段落.子字符串(lastSpace+1); } //加上最后一个尾随位 结果+=段落; document.body.innerHTML=结果;
只要行不超过100个字符,就应该在空格上拆分。

var paragration='Lorem ipsum door sit amet,concertetuer adipiscing elit.Nam nibh.Nunc varius facilisis eros.Sed erat.In velit quis arcu or nare laoreet.Curabitur adipiscing luctus massa.Integer ut purus ac augue commodo.nuc nec mi eu just to tempor concert.我们需要一个临时的承诺