1

私は次のような配列またはオブジェクトが好きです:

[0]
   text:"first"
   id: 1
[1]
   text:"second"
   id: 2
[2]
   text:"third"
   id: 3

自分自身を得る:

1: first
2: 1
3: second
4: 2
5: third
6: 3

これが現時点での配列の実装を含む私のJavaScriptです:

 var numberOfQuestions = questionaireResult.numberOfQuestions;
                var i;
                var j;
                var result = [];

                for (i = 0; i < numberOfQuestions; i++) {
                    debugger;
                    var question = questionaireResult.questions[i].text;
                    var questionID = questionaireResult.questions[i].id;


                    for (j = 0; j < questionaireResult.questions[i].answers.length; j++) {

                        var text = questionaireResult.questions[i].answers[j].text;
                        var id = questionaireResult.questions[i].answers[j].id;
                        result.push(text, id);
                    }
}

構造化配列またはオブジェクトを取得するのを手伝ってください

4

2 に答える 2

9

代わりに、データを含むオブジェクトを配列にプッシュします。

result.push({text: text, id: id});
于 2013-10-01T14:46:27.407 に答える
0

すべての回答を単一の配列に格納すると仮定すると、 を使用concatして期待される結果を取得し、同時にコードの量を減らすことができます。

var questions = questionaireResult.questions,
    result = [],
    l = questions.length,
    i = 0;

for (; i < l; i++) {
    result = result.concat(
        questions[i].answers
    );
}

これがどのように機能するかですconcatmdn doc):

var a = [1, 2, 3],
    b = [4, 5, 6];
a.concat(b); // [1, 2, 3, 4, 5, 6]
于 2013-10-02T06:29:10.340 に答える