2017-05-19 77 views
0

我想创建一个小脚本来确定段落中有多少单词,然后根据一定的长度划分段落。我的方法是使用split()分割段落,找出数组中有多少个元素,然后将一些元素输出到一个段落中,其余元素输出到另一个段落中。拆分字符串正在返回完整字符串

var para = document.getElementById('aboutParagraph').innerHTML; 
var paraElements = para.split(); 
var paraLength = paraElements.length; 

if(paraLength >= 500){ 

} 
console.log(paraElements); 
当我使用这个代码paraElements

在一个数组,其中所述第一元件是整个字符串被返回。

索夫例如,如果该段是“这是一个段落” paraElements被返回为:["this is a paragraph"],为1。长是不是应该["this", "is", "a", "paragraph"]

+0

可能是因为你需要通过你的 – ThisGuyHasTwoThumbs

+0

'拆分拆分该字符串()'需要的参数。 mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split。投票结束为错字 –

回答

1

split()方法拆分在指定的分隔符的字符串(可以是文字串,对一个字符串或正则表达式的引用),然后返回所有部分的阵列。如果只需要一个部分,则必须将结果数组传递给索引。

你没有提供分隔符来分割,所以你会得到整个字符串。

var s = "This is my test string"; 
 

 
var result = s.split(/\s+/); // Split everywhere there is one or more spaces 
 

 
console.log(result); // The entire resulting array 
 

 
console.log("There are " + result.length + " words in the string."); 
 

 
console.log("The first word is: " + result[0]); // Just the first word

1

var str = "this is a paragraph"; 
 

 
var ans = str.split(' '); 
 
console.log(ans);

您需要使用split(”“)这种格式。使用'',注意空间。你没有传递任何参数来分裂。

0

您缺少空格的分隔符。试试这个:

var para = document.getElementById('aboutParagraph').innerHTML; 
var paraElements = para.split(' '); 
var paraLength = paraElements.length; 

if(paraLength >= 500){ 

} 
console.log(paraElements); 
0

split()会返回一个数组,如果你没有一个分隔符作为一个参数,将整个字符串封装到一个数组的一个元素传递。

你可以打破空间的话,但你可能也想考虑制表符和换行符。出于这个原因,你可以使用一些正则表达式/\s+/它将匹配任何空格字符。

使用+以便它将所有连续的空格字符视为一个分隔符。否则,具有两个空格的字符串(如foo bar)将被视为三个字,其中一个字符串为空字符串["foo", "", "bar"](正如预期的,该加号使其成为["foo", "bar"])。 HTTPS://开发者通过*分割字符串* -

var para = document.getElementById('aboutParagraph').innerHTML; 
 
var paraElements = para.split(/\s+/); // <-- need to pass in delimiter to split on 
 
var paraLength = paraElements.length; 
 

 
if (paraLength >= 500) {} 
 

 
console.log(paraLength, paraElements);
<p id="aboutParagraph">I want to create a small script which determines how many words are in a paragraph and then divides the paragraph depending on a certain length. My approach was to split the paragraph using split(), find out how many elements are in the array and then output some of the elements into one paragraph and the rest into another.</p>