Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想要创建多维数组来读取javascript中的数组及其相关选项吗_Javascript_Arrays_Angularjs_Sqlite_Multidimensional Array - Fatal编程技术网

想要创建多维数组来读取javascript中的数组及其相关选项吗

想要创建多维数组来读取javascript中的数组及其相关选项吗,javascript,arrays,angularjs,sqlite,multidimensional-array,Javascript,Arrays,Angularjs,Sqlite,Multidimensional Array,我想在javascript中创建一个多维数组,在数组中获取问题及其相关选项 demoArray[i] = new Array(); var id=results.rows.item(i).del_ques_id; demoArray[i]["question"] = results.rows.item(i).question; demoArray[i]["id"] = results.rows.item(i).del_ques_id; tx.executeSql('SELECT option,

我想在javascript中创建一个多维数组,在数组中获取问题及其相关选项

demoArray[i] = new Array();
var id=results.rows.item(i).del_ques_id;
demoArray[i]["question"] = results.rows.item(i).question;
demoArray[i]["id"] = results.rows.item(i).del_ques_id;

tx.executeSql('SELECT option,value,del_opt_id FROM delta_option WHERE del_ques_id='+results.rows.item(i).del_ques_id+' order by value desc', [], getOptionDetails, errorCB);

function getOptionDetails(tx,results){
    console.log("option query");
    var lent = results.rows.length;
    console.log("DEMO table: " + lent + " rows found.");
    for(var j=0;j<lent;j++){
        demoArray[i]=new Array();
        demoArray[i]["option"]=results.rows.item(j).option;
        }
}
这应该是我的数组结构 如何编码

var demoArray = [];
var ques = results.rows.item(i).question;
var id = results.rows.item(i).del_ques_id;
var quesObj = {};

var options = [];
var option = {};
//call your query and fill the options. I am assuming that you have multiple options for a question, Loop the next three lines of code for all the options of a particular question
option["option_name"] = "Some name result from your query";
option["option_id"] = "Some id result from your query";
//push this to your options
options.push(option);

//now create the quesObj consisting of ques,id and options
quesObj["question"] = ques;
quesObj["id"] = id;
quesObj["option"] = options;

//now add your quesObj to the demoArray
demoArray.push(quesObj);
现在,您可以循环上面的整个代码,向demoArray添加多个问题

结果是:

[
{
    question:question_string;
    id:question_id;
    option:[
        {
            option_name:option_string;
            option_id:option_id_string;
        },
        {
            option_name:option_string;
            option_id:option_id_string;
        }
        ....
 }
 {
        ..... Other Question Objects 
        ......
 } and so on
]
var questionArray=[];
var问号=0;
var optionsArray=[];
函数getQuestionDetails(发送、结果){
var len=results.rows.length;
log(“演示表:“+len+”找到行”);

for(var i=0;ii创建对象,但它不提供此多重数组
[
{
    question:question_string;
    id:question_id;
    option:[
        {
            option_name:option_string;
            option_id:option_id_string;
        },
        {
            option_name:option_string;
            option_id:option_id_string;
        }
        ....
 }
 {
        ..... Other Question Objects 
        ......
 } and so on
 var questionArray = [];
 var questionCounter = 0;
 var optionsArray = [];

 function getQuestionDetails(tx, results) {
    var len = results.rows.length;
    console.log("DEMO table: " + len + " rows found.");
    for(var i=0;i<len;i++){
       //console.log(results.rows.item(i).question);
       questionCounter = i;
       questionArray[i] = new Array();
       //var id = results.rows.item(i).del_ques_id;
       questionArray[i]["question"] = results.rows.item(i).question;
       questionArray[i]["id"] = results.rows.item(i).del_ques_id;
       tx.executeSql('SELECT option,value,del_opt_id FROM delta_option WHERE del_ques_id='+results.rows.item(i).del_ques_id+' order by value desc', [], getOptionDetails, errorCB);
      // console.log(questionArray[i]["question"]); 
    } //EOC for
 } //EOC question function

 function getOptionDetails(tx,results){
   console.log(questionArray[questionCounter]["question"])
   var optLength = results.rows.length;
   var qOptions = questionArray[questionCounter]["qOptions"] = [];
   for(var j=0;j<optLength;j++){
      qOptions[j] = [];
      qOptions[j]['optionId'] = results.rows.item(j).del_opt_id;
      qOptions[j]['option'] = results.rows.item(j).option;
      qOptions[j]['optionValue'] = results.rows.item(j).value;
   } //EOC for
   console.log(questionArray[0]["qOptions"][0]["optionId"]);

   $scope.$apply(function() {
      $scope.quesData=questionArray; 
   });
 //console.log(qOptions["option"])
} //EOC function