TC官方合作论坛

标题: 5.0数组的严重问题 [打印本页]

作者: 785953306    时间: 2015-9-4 09:46
标题: 5.0数组的严重问题
今天联系客服都是离线的我晕 数组删除后大小依然没变让我们怎么用这数组改的难受死了
变量 数据块=数组()
变量 大小
数据块[0]="零"
数据块[1]="一"
数据块[2]="二"
数据块[3]="三"
大小=数组大小(数据块)
traceprint(大小)
    遍历(变量 i = 0; i < 大小; i++)
        如果(字符串查找(数据块[i],"一")>-1)
            traceprint(数据块[i])
            traceprint(i)
            traceprint(数组指定位置删除(数据块,i))
        结束
    结束
    遍历(变量 i = 0; i < 大小; i++)
traceprint(数据块[i])
    结束

作者: 这论坛不错    时间: 2015-9-4 10:59
我感觉5.X的数组,主要是数组指定位置删除和数组指定键值删除不好用,没有4.X好用,4.X删除完了会自动排列,5不会,这2个我都不敢用,我的项目用4.X写的,删除了前面的,后面的自动排列上来了,5.X就不行了,删除了前面的,后面的不上来,位置不变化的
作者: ok963963ok    时间: 2015-9-4 12:49
    变量 数据块=数组()
    变量 大小
    数据块[0]="零"
    数据块[1]="一"
    数据块[2]="二"
    数据块[3]="三"
    大小=数组大小(数据块)
    traceprint(大小)
    遍历(变量 i = 0; i < 大小; i++)
        如果(字符串查找(数据块[i],"一")>-1)
            traceprint(数据块[i])
            traceprint(i)
            traceprint(数组指定位置删除(数据块,i))
        结束
    结束
    遍历(变量 i = 0; i < 数组大小(数据块); i++)
        var 局_value,局_key
        arraygetat(数据块,i,局_value,局_key)
        traceprint(数据块[局_key])
    结束
作者: 785953306    时间: 2015-9-4 13:07
这论坛不错 发表于 2015-9-4 10:59
我感觉5.X的数组,主要是数组指定位置删除和数组指定键值删除不好用,没有4.X好用,4.X删除完了会自动排列 ...

对 用起来非常别扭
作者: 785953306    时间: 2015-9-4 13:09
ok963963ok 发表于 2015-9-4 12:49
变量 数据块=数组()
    变量 大小
    数据块[0]="零"

谢谢
作者: 这论坛不错    时间: 2015-9-4 13:25
调试输出出来是正常的,但是实际应用的时候,位置真的不会排列,我是自己排列的,每次自己都要自己写排列很麻烦,因为我需要的不是调试输出,删除完了以后,还要重新使用数组里面的元素,结果这个时候,原来删除的位置变成空串了,并没有真正删除,还占用了一个位置
作者: 785953306    时间: 2015-9-4 13:30
这论坛不错 发表于 2015-9-4 13:25
调试输出出来是正常的,但是实际应用的时候,位置真的不会排列,我是自己排列的,每次自己都要自己写排列很 ...

是的所以我说5.0的数组用的超级难受 而且实用性真的不大 官方下个版本能改回来这样改不考虑后果会丢失一批作者的
作者: 785953306    时间: 2015-9-4 13:31
   
    变量 数据块=数组(),局_value,局_key
    变量 大小
    数据块[0]="零"
    数据块[1]="一"
    数据块[2]="二"
    数据块[3]="三"
    大小=数组大小(数据块)
    调试输出(大小)
    遍历(变量 i = 0; i < 大小; i++)
        如果(字符串查找(数据块[i],"一")>-1)
            调试输出(数据块[i])
            调试输出(i)
            调试输出(数组指定位置删除(数据块,i))
        结束
    结束
    遍历(变量 i = 0; i < 数组大小(数据块); i++)
        数组获取元素(数据块,i,局_value,局_key)
        调试输出(数据块[局_key])
    结束
   
    traceprint(数组大小(数据块))
    for(var i = 0; i < 数组大小(数据块); i++)
        traceprint(数据块[i])
    end

    大家有质疑的人请复制代码看下此数组依然在内存中占据了一个位置即使删掉
作者: 这论坛不错    时间: 2015-9-4 14:47
785953306 发表于 2015-9-4 13:30
是的所以我说5.0的数组用的超级难受 而且实用性真的不大 官方下个版本能改回来这样改不考虑后果会丢失一 ...

已经有一些人不声不响地走了。。。
作者: 785953306    时间: 2015-9-4 15:21
这论坛不错 发表于 2015-9-4 14:47
已经有一些人不声不响地走了。。。

恩 而且走的人越来越多 官方的一意孤行
作者: sam7894604    时间: 2015-9-4 19:13
无语...你自己的问题...

数据块

这种写法 如果该成员不存在,会自动加入该成员
但是该成员值是 null

作者: mxxgmxxg    时间: 2015-9-10 07:28
我也准备走了
作者: dragon07zn    时间: 2015-9-10 13:21
这情况我也见过
根据**的说法是
5.0的已经不是数组了
把他看作容器更合适
对于这个容器的任何操作都会增加容易大小
这么说你应该会改了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1