首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据给定的数字分割数组

根据给定的数字分割数组
EN

Stack Overflow用户
提问于 2014-01-06 07:44:02
回答 1查看 69关注 0票数 0

我在根据用户输入拆分数组时遇到了一些小问题。我有一个文本区域,用户将输入一篇文章和一个输入框,一个人可以输入一个数字,这将是一个分裂的基础。假设用户输入"3",整篇文章将被分成3句每一段。

到目前为止我有这个html,

代码语言:javascript
复制
<textarea id="essay"></textarea>
<input type="text" onkeypress="return show_paragraph(event)" id="input" />

<div id="questionDiv"></div>

还有一个能完成所有任务的函数。但切片只适用于第一段,意思是,如果我输入一篇由8个句子组成的文章,我想把它切成三个句子,例如,我只得到两段,第一段有3句,第二段有5句,而我应该有3段,3-3-2句。

代码语言:javascript
复制
function show_paragraph(e){
    var numSentences = $("#input").val();
    var essay= $("#essay").val();
    if (e.keyCode == 13 || e.which == 13) {
        var sentence_list = essay.split(". "); //array of sentences
        var sentence_results = "";          
        var i,j,paragraph;
            var chunk = numSentences;

        for (i=0,j=sentence_list.length; i<j; i+=chunk) {
            paragraph = sentence_list.slice(i,i+chunk);
            sentence_results += '<div id="sentenceDiv" >';
            sentence_results += '<h4 id="paragraph'+i+'">'+paragraph+'</h4>';
            sentence_results += '</div>';
        }

        $("#questionDiv").html(sentence_results);

        return false;
    }
}

我似乎回不来这段时间()每句话都要回来。

谢谢你的帮助..。=)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-06 08:05:20

非常有趣。您的逻辑是正确的,您只需修复这两行:

而不是

代码语言:javascript
复制
var chunk = numSentences;

做:

代码语言:javascript
复制
var chunk = parseInt(numSentences, 10);

如果不是,在for中执行“+”时,它将连接而不是添加。

而不是:

代码语言:javascript
复制
paragraph = sentence_list.slice(i,i+chunk);

做:

代码语言:javascript
复制
paragraph = sentence_list.slice(i,i+chunk).join(". ");

所以你可以把经期拿回来。

经过测试,它起作用了:)。

干杯,来自玻利维亚的拉巴斯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20945276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档