想要创建多维数组来读取javascript中的数组及其相关选项吗
我想在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,
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