TC官方合作论坛

标题: TC数组指定位置删除,功能的疑惑 [打印本页]

作者: 我爱TC脚本    时间: 2016-3-14 22:24
标题: TC数组指定位置删除,功能的疑惑
   变量 ar = 数组( 1,2,3)
数组指定位置删除(ar,1)
变量 length = 数组大小(ar)
调试输出("大小"&length)
变量 value,key,ret
遍历(变量 i=0;i < length;i++)
数组获取元素(ar,i,value,key)
ret=i&" 值:"&value&" key:"&key
调试输出(ret)
结束
为什么执行完后,key的值,2,他不是删除了一个项吗,剩下2项了,索引不是就是0,1,两个吗,为什么key的值还是0和2,而不是0和1
求解释,

作者: 言术    时间: 2016-3-15 06:32
5.0以后的tc,为了兼容结构体,所以就把数组改变成现在这个样子了
你可以把key想象成数组里的变量,删除其中某一个,其他变量名不会随之改变
只是初始化时默认从零开始排而已


写了个函数,你参考下
功能 按钮0_点击()
    变量 ar = 数组( 1,2,3)
    数组指定位置删除1(ar,1)
    变量 length = 数组大小(ar)
    调试输出("大小"&length)
    变量 value,key,ret
    遍历(变量 i=0;i < length;i++)
        数组获取元素(ar,i,value,key)
        ret=i&" 值:"&value&" key:"&key
        调试输出(ret)
    结束
结束

功能 数组指定位置删除1(&数组名,位置)
    变量 大小=数组大小(数组名),标记=假
    遍历(变量 i = 0; i < 大小; i++)
        如果(i==位置)
            标记=真
            继续
        结束
        如果(i>位置)
            数组名[i-1]=数组名[i]
        结束
    结束
   
    如果(标记)
        数组指定位置删除(数组名,大小-1)
        返回 真
    结束
    返回 假
结束




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