在循环中连接var

时间:2012-01-09 17:32:37

标签: javascript

一个基本问题,我正在尝试这段代码:

var number_questions = postsJSON1[i]['question'].length;
for (a=0; a<number_questions; a++) {
var post+[a] = postsJSON1[i]['question'][a];    
}

此行会出错:var post+[a]

正确的方法是什么?

2 个答案:

答案 0 :(得分:9)

这会给你一个数组:

var number_questions = postsJSON1[i]['question'];
var post = [];
for (a=0; a<number_questions; a++) {
  post[a] = postsJSON1[i]['question'][a];    
}

这会给你一个字符串:

var number_questions = postsJSON1[i]['question'];
var post = '';
for (a=0; a<number_questions; a++) {
  post += postsJSON1[i]['question'][a];    
}

BTW我不知道postsJSON1[i]['question']的内容,但以下看起来有点奇怪:

var number_questions = postsJSON1[i]['question'];

不应该是:

var number_questions = postsJSON1[i]['question'].length;

答案 1 :(得分:1)

很难确切地看到你想要做什么,但我认为你想要这个:

var number_questions = postsJSON1[i]['question'].length;
var post = "";
for (a = 0; a < number_questions; a++) {
    post += postsJSON1[i]['question'][a];    
}

我假设postsJSON1[i]['question']是一个数组,因为你在循环体中对它进行处理。这就是我更改第一行以使用length属性初始化number_questions的原因。

顺便说一下,这段代码在功能上等同于join;你可以在一行中做同样的事情:

var post = postsJSON1[i]['question'].join("");