嗨,
我有一个从php读入数组的javascript函数.每条记录被$拆分,然后每个字段被^拆分.我想知道有没有人能帮我把这些数据放到一个二维数组中?这就是我到目前为止所拥有的.
- function drawExisting() {
- if (request.readyState ==4) {
- var returned = request.responseText;
- var recordSplit = returned.split("$");
- var record = recordSplit[0];
- alert(record);
- var fieldSplit = record.split("^");
- var object_name = fieldSplit[0];
- var xpos = fieldSplit[1];
- var ypos = fieldSplit[2];
- var height = fieldSplit[3];
- var width = fieldSplit[4];
- // alert(object_name + " " + xpos + " " + ypos + " " + height + " " + width);
-
- }
- }
这给了我第一个记录的结果
# 回答1
循环遍历recordSplit(一个数组)并将每个fieldSplit(也是一个数组)设置为一个数组变量.
# 回答2
让我头疼的问题是,您必须声明数组的大小.我可以声明一个不带大小的数组吗?
# 回答3
您不需要声明数组的大小.您可以这样声明它:
就是这样.
# 回答4
我在这条路上走对了吗?
- function drawExisting() {
- if (request.readyState ==4) {
- var record = [];
- var returned = request.responseText;
- var recordSplit = returned.split("$");
- for (i=0; i < record.length; i++) {
- record = recordSplit[i];
- var fieldSplit = record.split("^");
- var object_name = fieldSplit[0];
- var xpos = fieldSplit[1];
- var ypos = fieldSplit[2];
- var height = fieldSplit[3];
- var width = fieldSplit[4];
- alert(object_name + " " + xpos + " " + ypos + " " + height + " " + width);
- }
-
- }
- }
# 回答5
说大也大吧.循环应该在recordSplit上,而不是Record上.然后使用Push()方法将fieldSplit数组添加到记录中.
# 回答6
我已经破解了它.尽管如此,还是要感谢你的帮助.只是过了一段时间,这个概念就进入了我的厚厚的脑袋.这是我的代码.
- function drawExisting() {
- if (request.readyState ==4) {
- cv = document.getElementById("canvas");
- var returned = request.responseText;
- var splitResult = returned.split("$");
- for (var i=0;i<splitResult.length-1;i++) {
- var record = splitResult[i];
- // alert(record);
- var splitRecord = record.split("^");
- var newObject = document.createElement('div');
- newObject.id=splitRecord[0];
- newObject.innerHTML=splitRecord[0];
- newObject.style.height=splitRecord[3]/10;
- newObject.style.width=splitRecord[4]/10;
- newObject.style.top=splitRecord[2];
- newObject.style.left=splitRecord[1];
- newObject.onmousedown=function(){grab(this);}
- cv.appendChild(newObject);
-
- }
- }
- }