【发布时间】:2015-08-31 18:38:06
【问题描述】:
你好 Stack 社区,
我正在尝试实现一个简单的 javascript 函数来首先计算给定字符串值中的单词总数。
在此之后,我不想将 X 个单词存储到一个数组中,以便能够在其周围添加额外的 html 元素进行循环。
例如,我有这个字符串:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis feugiat sollicitudin lacus, nec pulvinar quam scelerisque at. Phasellus ut tellus scelerisque, fringilla ligula a, commodo odio. Aenean mattis eros sed purus iaculis, at pellentesque ligula luctus. Pellentesque luctus augue ut quam consequat rhoncus. In at dolor sed ipsum ullamcorper fermentum. Pellentesque porta convallis nisl vitae cursus. Maecenas luctus libero sit amet efficitur consequat. Suspendisse nec luctus dolor. Fusce sit amet scelerisque erat. Aenean ac tristique nisl. Etiam in est purus. In magna nunc, viverra nec ante quis, aliquam venenatis sem.
这是我实际正在处理的代码。 (我只是参加了所需的部分)。
// Var for Word max
var wordsMaxFirstPage = 40;
var wordsMaxOthersPages = 50;
// Default field (My String example)
var defaultField = $(this).find('.c_6937 .textarea .value');
// Count the number of words for this form
var countLengthOfCommentPage = defaultField.text().split(' ').length;
// Creat Array of the comment splits by Maximum words per page
var chunks = [];
for (var i = 0, charsLength = countLengthOfCommentPage; i < charsLength; i += wordsMaxFirstPage) {
chunks.push(defaultField.html().substring(i, i + wordsMaxOthersPages));
}
// Execute Array to build the new HTML
for (var key in chunks) {
if (chunks.hasOwnProperty(key)) {
$(this).find('.c_6937').append('<div class="value line_'+key+'" style="font-size: 20px; margin: 0px; line-height: 26px; font-family: Times, serif; font-weight: normal;">' + chunks[key] + '</div>');
console.log(key + " -> " + chunks[key]);
}
}
// Debug
console.log(countLengthOfCommentPage);
对我来说,事情变得复杂的地方是我构建数组的地方。是的,我知道,我使用 substring 方法,这种方法实际上适用于字符。
我的问题很简单。有没有办法用正则表达式函数构建数组,还是我错过了一些非常简单的东西?
【问题讨论】:
-
可以提供jsfiddle吗?
-
这里是 jsfiddle:jsfiddle.net/gbb2ae4g/4
标签: javascript arrays regex