Javascript jQuery多维数组定义 var问题={}; 对于(var i=0;i
未捕获的TypeError:无法设置未定义的属性“questions” 如何定义多维数组?Javascript jQuery多维数组定义 var问题={}; 对于(var i=0;i,javascript,jquery,arrays,multidimensional-array,Javascript,Jquery,Arrays,Multidimensional Array,未捕获的TypeError:无法设置未定义的属性“questions” 如何定义多维数组? 我试着像var-questions=[]但它也不起作用…您需要先初始化对象。只要写 var questions = {}; for (var i = 0; i < tmp_questions.length; i++) { questions[i]["questions"] = tmp_questions[i]; questions[i]["input_type_id"] = tmp
我试着像
var-questions=[]代码>但它也不起作用…您需要先初始化对象。只要写
var questions = {};
for (var i = 0; i < tmp_questions.length; i++) {
questions[i]["questions"] = tmp_questions[i];
questions[i]["input_type_id"] = tmp_question_types[i];
questions[i]["choices"] = tmp_choices[i];
}
问题=[];
对于(var i=0;i
经过几处更正后,您就快到了
错误1:
questions = [];
for (var i = 0; i < tmp_questions.length; i++) {
questions[i] = {};
questions[i]["questions"] = tmp_questions[i];
questions[i]["input_type_id"] = tmp_question_types[i];
questions[i]["choices"] = tmp_choices[i];
}
这是一个对象声明。不是数组
错误2:
var questions = {};
为此,您必须在问题的i
位置放置一个对象
所以更正之后,
questions[i]["questions"]
var问题=[]//报到
对于(var i=0;i
插入前必须进行初始化。
检查这个
var tmp_choices=tmp_question_types=tmp_questions=[1,2,3,4,5];
变量问题=[];//如果希望问题是对象数组,请使用[]
对于(var i=0;i 控制台日志(问题)代码>我想你要找的是一组对象:
var questions = []; //declare arry
for (var i = 0; i < tmp_questions.length; i++) {
questions.push({}); //push it
questions[i]["questions"] = tmp_questions[i]; // add properties
questions[i]["input_type_id"] = tmp_question_types[i];
questions[i]["choices"] = tmp_choices[i];
}
//这应该是一个数组
var问题=[];
对于(var i=0;i
或者以这样一种清晰的方式:
// this should be an array
var questions = [];
for (var i = 0; i < tmp_questions.length; i++) {
// for each iteration, create an object and fill it
questions[i] = {};
questions[i]["questions"] = tmp_questions[i];
questions[i]["input_type_id"] = tmp_question_types[i];
questions[i]["choices"] = tmp_choices[i];
}
//这应该是一个数组
var问题=[];
对于(var i=0;i
在将数据推入数组之前,必须先将对象创建到数组中:
// this should be an array
var questions = [];
for (var i = 0; i < tmp_questions.length; i++) {
// for each iteration, push an object like so
questions.push({
"questions": tmp_questions[i],
"input_type_id": tmp_question_types[i],
"choices": tmp_choices[i]
});
}
希望能有帮助,,
Paul J您的数组不是一个数组,而是一个对象数组。
多维数组应类似于:
var questions = [];
for(...){
questions[i] = {
questions : tmp_questions[i],
"input_type_id" : tmp_question_types[i],
choices : tmp_choices[i]
}
}
无论如何,为了创建一个数组,其中可能包含一个带有“问题、ID和选择”的对象,您必须初始化数组的每个元素
请参见以下内容:
var-tmp_-questions=[“test1”、“test2”];
变量tmp_问题_类型=[“类型1”,“类型2”];
var tmp_choices=[“choice1”、“choice2”];
var questions=新数组();
对于(var i=0;i 控制台日志(问题)代码>为什么要将此标记为jQuery
?可以删除jQuery
标记吗?@ibrahimmahrir Ahh。。我的拼写错误很糟糕。更正。
var questions = [];
for(...){
questions[i] = {
questions : tmp_questions[i],
"input_type_id" : tmp_question_types[i],
choices : tmp_choices[i]
}
}
var bidimensionalArray = new Array(new Array());
var tridimensionalName = new Array(new Array(new Array()));