TC官方合作论坛

 找回密码
 立即注册
查看: 701|回复: 1

[问题] TC数组指定位置删除,功能的疑惑

[复制链接]
发表于 2016-3-14 22:24:48 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
   变量 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:25 | 显示全部楼层
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)
        返回 真
    结束
    返回 假
结束
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 11:53 , Processed in 0.054613 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表