当前博客:移动端数据循环问题

84 次浏览【转载需注明来源】

博客作者:【1348****4381】

个性签名:寒窗苦读十年,一朝凤舞九天

//数据层的数据
    房源房间号: [
            { "房间号": "1", "建筑面积": "331.3" },
            { "房间号": "2", "建筑面积": "331.3" }
        ]

//方法的数据
显示销控格式(参_数据) {
            //这里先计算出:列的数据,房间号;
            参_数据 = [
                { "状态": "认购", "房号": "702", "楼层": "7", "房间号": "2", "更改日期": "2023-05-01", "备注": "" },
                { "状态": "认购", "房号": "602", "楼层": "6", "房间号": "2", "更改日期": "2023-05-26", "备注": "" },
                { "状态": "可售", "房号": "502", "楼层": "5", "房间号": "2", "更改日期": "2023-03-30", "备注": "" },
                { "状态": "可售", "房号": "402", "楼层": "4", "房间号": "2", "更改日期": "2023-03-30", "备注": "" },
                { "状态": "可售", "房号": "401", "楼层": "4", "房间号": "1", "更改日期": "2023-03-30", "备注": "" },
                { "状态": "可售", "房号": "301", "楼层": "3", "房间号": "1", "更改日期": "2023-03-30", "备注": "" },
                { "状态": "可售", "房号": "302", "楼层": "3", "房间号": "2", "更改日期": "2023-03-30", "备注": "" },
                { "状态": "可售", "房号": "201", "楼层": "2", "房间号": "1", "更改日期": "2023-03-30", "备注": "" }
            ];
            局部变量 局_房间号对象 = [];
            循环 (局部变量 列_索引 = 0; 列_索引 < 数据层.房源房间号.长度; 列_索引++) {
                局_房间号对象 = 局_房间号对象.合并({ "状态": "", "房间号": "", "楼层": "", "房间号": "", "备注": "" });
            }
            局部变量 局_层楼 = "";
            局部变量 局_房源销控表 = [];
            循环 (局部变量 行_索引 = 0; 行_索引 < 参_数据.长度; 行_索引++) {
                如果 (参_数据[行_索引]["楼层"] != 局_层楼) {
                    //这里判断是不是新层楼了
                    局_层楼 = 参_数据[行_索引]["楼层"];
                    局_房源销控表[局_房源销控表.长度] = 局_房间号对象;
                }

                循环 (局部变量 列_索引 = 0; 列_索引 < 数据层.房源房间号.长度; 列_索引++) {
                    如果 (数据层.房源房间号[列_索引]["房间号"] == 参_数据[行_索引]["房间号"]) {
                        局_房源销控表[局_房源销控表.长度 - 1][列_索引] = 参_数据[行_索引];
                        //这里明明跟数据不同增加的数值,为何最后的结果 都是一样的呢??
                        //问题在这里
                    } 否则 {
                        //这里空房间转空的数据
                        局_房源销控表[局_房源销控表.长度 - 1][列_索引] = { "状态": "", "房间号": "", "楼层": "", "房间号": "", "备注": "" };
                    }
                }
            }
            调试输出(局_房源销控表, "输出结果");
        },

 

   局_房源销控表[局_房源销控表.长度 - 1][列_索引] = 参_数据[行_索引];

                        //这里明明跟数据不同增加的数值,为何最后的结果 都是一样的呢??

                        //问题在这里

 

想做出这种效果,但里面的循环数据:为何最终的输出结果都是一样的呢?

请帮检查下

 

默认排序
Generic placeholder image
Generic placeholder image
快码FOF编程 Time: 2023-10-29 09:20:44

可提供一个简单的测试项目上来

Generic placeholder image
1348****4381 回复 1楼 快码FOF编程 Time: 2023-10-29 10:20:57

文章里面的就是所有的代码啊,主要是一个循环出错

Generic placeholder image
qiang 回复 2楼 1348****4381 Time: 2023-10-30 10:00:38

 

这个数组所有的值都是同一个对象。

Generic placeholder image
1348****4381 回复 3楼 qiang Time: 2023-10-30 11:49:32
[
  [
    {"状态":"可售","房号":"502","楼层":"5","房间号":"2","更改日期":"2023-03-30","备注":""},
    {"状态":"","房号":"","楼层":"","备注":""}
  ],
  [
    {"状态":"可售","房号":"402","楼层":"4","房间号":"2","更改日期":"2023-03-30","备注":""},
    {"状态":"可售","房号":"401","楼层":"4","房间号":"1","更改日期":"2023-03-30","备注":""}
  ]
]

我是想最终于得到这种格式,同一层的作一数组,房间号作为每一对象

Generic placeholder image
qiang 回复 4楼 1348****4381 Time: 2023-10-30 16:15:57

可以试一下深拷贝,百度“数组深拷贝”就有,这样赋值出来的对象就不是同一个对象了。

Generic placeholder image
1348****4381 回复 5楼 qiang Time: 2023-10-30 23:10:38

有关系的案例吗?

Generic placeholder image
qiang 回复 6楼 1348****4381 Time: 2023-10-31 09:40:07

你可以百度一下,很多案例就在网上。

这是一个简单的解决方法:

局_房源销控表[局_房源销控表.长度] = [...局_房间号对象];

 


移动端数据循环问题