无法列印阵列

时间:2018-11-29 07:59:22

标签: javascript arrays for-loop

我正在用画布做某事,我需要处理用户键入的一些文本。我的问题是,我希望每次运行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();

1 个答案:

答案 0 :(得分:1)

您只需要使用{% for categorie in creation.categories %} {{ categorie.label }} {% endfor %} ,而不是控制台中的words

words[w]

console.log('result:', words); 将是w,因此它将是未定义的。如果要打印总数组,请使用单词。

这是输出

length of the array +1