找回密码
 加入
搜索
查看: 2364|回复: 5

[效率算法] 删除二维数组空值行的问题(已解决)

[复制链接]
发表于 2016-7-27 20:08:11 | 显示全部楼层 |阅读模式
本帖最后由 dequan_vip 于 2016-7-29 16:33 编辑

怎麼删除二维数组空值行的问题:
例如 1,2
1     0,2
2
3     
4      2,0

如何删除以上空值行
发表于 2016-7-28 08:46:47 | 显示全部楼层
回复 1# dequan_vip


    从数组的最后一维往前删
#include <array.au3>

Local $array[10] = [1,2,3,4,5,null,7,8,9,0]

_ArrayDisplay($array)

For $i = UBound($array) -1 To 0 Step -1
If $array[$i] == Null Then _ArrayDelete($array,$i)
Next

_ArrayDisplay($array)

二维的同理,在比较时注意数据类型

评分

参与人数 1金钱 +30 收起 理由
水木子 + 30 学习了!

查看全部评分

 楼主| 发表于 2016-7-28 16:19:52 | 显示全部楼层
回复 2# tubaba

#include <Array.au3>
Dim $Array[5][2] = [["", ""], ["23", 51], ["", ""], ["55", 34], ["67", 98]]
_arraydisplay($Array, ' ')
For $i = UBound($array) -1 To 0 Step -1
If $array[$i][1] =="" Then _ArrayDelete($array,$i)
Next
_arraydisplay($Array, ' ')

这个我明白了,可能我问题没写清楚,我读取excel 表格里面两列创建二维数组,用这个写法就删不去读取出来的数组里面的空值行。
 楼主| 发表于 2016-7-28 17:41:12 | 显示全部楼层
本帖最后由 dequan_vip 于 2016-7-28 17:53 编辑

我知道什么问题,这个没错的,但是处理起来很慢。怎麼把不是空值的数组提取出来放进一个新的数组或者变量?
发表于 2016-7-29 14:54:35 | 显示全部楼层
可能慢不在于数组处理上,而是慢在excel读到数组中
 楼主| 发表于 2016-7-29 16:26:48 | 显示全部楼层
本帖最后由 dequan_vip 于 2016-7-29 16:35 编辑

回复 5# tubaba


    嗯,没错,话说怎么把这帖移去已解决专栏?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 22:37 , Processed in 0.188009 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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