javascript - 多维数组构造问题
问题描述
我创建了一个包含roomsmatrixtemp[]
5 个元素(键值)的数组(),它们存储为另一个数组(roomsmatrix
)的元素。好吧,就像对象的集合一样。
我的代码:
case 'roomsform':
var roomsmatrixtemp = [];
var roomsmatrix = [];
var roomchild = 0;
if (document.getElementsByClassName("newroomarea").length > 0) {
fdataname = document.getElementsByClassName("newroomlabel");
fdatatext = document.getElementsByClassName("newroomnametext");
//create matric with rooms fields ----- roomchild[0] is title
for (roomchild = 0; roomchild < document.getElementsByClassName("newroomarea").length; roomchild++) {
for (i = 0; i < 5; i++) {
var name = fdataname[i + (roomchild * 5)].innerHTML; // 5 labels per room
var text = fdatatext[i + (roomchild * 5)].innerHTML; // 5 fields per room
roomsmatrixtemp[name] = text; // constact matrix for default room
}
roomsmatrix[roomchild] = roomsmatrixtemp; //add default room matrix to roomsmatrix -- roomsmatrix[x]= array for room x
}
}
if (checknewform(formid)) { // check in form if room is declared
var roomsmatrixtemp2 = [];
for (j = 0; j < 5; j++) {
roomform = document.getElementById("roomsform");
roomfieldlabel = $("#roomsform .form-group label")[j];
var name = roomfieldlabel.innerHTML;
var text = finput[j].value; // 5 fields per room
roomsmatrixtemp2[name] = text; // constact matrix for default room
}
roomsmatrix[roomchild] = roomsmatrixtemp2; //add default room matrix to roomsmatrix -- roomsmatrix[x]= array for room x}
if (roomsmatrix.length < 1) {
alert("No rooms declared");
} // no rooms anywhere
break;
一切正常但是......当我将数组(roomsmatrixtemp
)与另一个数组(例如roomsmatrix[1]
)中的新元素一起存储时,第二个数组的所有元素都等于新添加的元素。
我的意思是roomsmatrix[0]=roomsmatrix[1]=roomsmatrixtemp
,尽管在 的每个循环中roomchild
,roommatrixtemp
都有不同的值。
解决方案
推荐阅读
- django - 更改 AUTH_USER_MODEL 后,Django Admin 将无法工作
- vba - 更新现有记录并在表中添加新记录 (MS Access VBA)
- angular - Angular 跨域请求被阻止
- android - DIsplaying element in ListView using SimpleCursor Loader
- opencl - 不执行并行执行 OpenCL MQL5
- python - 为什么 sympy 不能集成这个(Mathematica 可以)
- javascript - 如何使用javascript单击html页面加载按钮?
- css - 如何在 div 边框上创建间隙?
- vim - 从 vimscript 触发文件完成
- android - 带阴影的样条图或 3D 样条图或三次折线图