遇到一个很郁闷的问题!百思不得其解!

jsidiot 2004-03-09 05:35:44
function SubData.getAllSubTableArray(){
var obj;
var tableArray = [];
var element;
var objectName;
for(i = 0 ; i < objectFormElementsArray.length;i++){
var obj = objectFormElementsArray[i];
if(obj.substr(obj.length - 5 ,5) == '_info'){
objectAllSubTableArray[objectAllSubTableArray.length] = obj.substring(0,obj.length - 5);
}
}

for(x = 0 ;x < objectAllSubTableArray.length; x++) {
var propertyList="id|dealType"; /* 属性列表 */
var propertyTitleList="id|dealType";/* 属性名称列表 */
var showEnList = "";/* 实现字段列表 */
var showCnList = "";/* 显示标题列表 */
var idioList = "";/* 签名列表 */
var encryptList = "";/* 加密列表 */
var nameIndex;
nameIndex = objectNameArray.length;
objectName = objectAllSubTableArray[x];
tableArray.length = 0 ;
for(y = 0 ;y < objectFormElements.length; y++){
element = objectFormElements[y];
elementName = element.name;
if (Field.getTable(elementName) == objectName){
if (Field.getShowSign(elementName) == "1") {
showEnList = Util.addStr(showEnList, Object.encode(elementName) , "|");
showCnList = Util.addStr(showCnList, element.title, "|")
}
if (Field.getIdioSign(elementName) == "1") {
idioList = Util.addStr(idioList, Field.getColumn(elementName), "|");
}
if (Field.getEncryptSign(elementName) == "1") {
encryptList = Util.addStr(encryptList, Field.getColumn(elementName), "|");
}
propertyList = Util.addStr(propertyList, Object.encode(elementName), "|");
propertyTitleList = Util.addStr(propertyTitleList, element.title, "|");
tableArray[tableArray.length] = element ; //问题在于这里,这里把表单元素赋值给数组
}
}
objectNameArray[nameIndex] = objectName;
objectPropertyArray[nameIndex] = propertyList;
objectCnShowArray[nameIndex] = showCnList;
objectEnShowArray[nameIndex] = showEnList;
objectNameTableArray[nameIndex] = tableArray; //这里把这个数组赋值给另外一个数组的某一个索引
alert("x:" + x + ";tableArray.length:" + tableArray.length + ";objectNameTableArray[nameIndex]:" + objectNameTableArray[nameIndex].length + ";objectNameTableArray[0].length:" + objectNameTableArray[0].length);
objectPaternArray[nameIndex] = Object.getPaternityArray(objectName);
}
}

上面的这一切看起来好像都没有问题,但是当我第二次赋值给objectNameTableArray时候,则第一次所赋给它的值也变为了第二次的值,百思不得其解,请教高人或者版主
另外这里有太多的自定义的函数,不过这里的函数都没有用到,对objectNameTableArray的值没有影响,谢谢
...全文
56 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧