我正在用画布做某事,我需要处理用户键入的一些文本。我的问题是,我希望每次运行for循环时都打印出'w'数组的内容,但是我总是得到未定义。谁能告诉我为什么?
var text = 'Test 123';
var post = text.split('');
var words = [];
function wrapText() {
var w = 0;
for (var i = 0; i < post.length; i++) {
if (/[a-zA-z]/.test(post[i])) {
if (/[^a-zA-z]/.test(post[i - 1]) && /[^a-zA-Z]/.test(post[i + 1])) {
words[w] = post[i];
w++;
} else {
var com = words[w];
if (typeof com === 'undefined') {
com = '';
}
words[w] = com + post[i];
if (/[^a-zA-Z]/.test(post[i + 1])) {
w++;
}
}
} else {
words[w] = post[i];
w++;
}
}
console.log('result:', words[w]);
}
wrapText();
答案 0 :(得分:1)
您只需要使用{% for categorie in creation.categories %}
{{ categorie.label }}
{% endfor %}
,而不是控制台中的words
words[w]
console.log('result:', words);
将是w
,因此它将是未定义的。如果要打印总数组,请使用单词。
这是输出
length of the array +1