主题:  《深入flash5编程》中的问题

bravexin

职务:普通成员
等级:1
金币:0.0
发贴:3
#12001/7/18 15:25:08
数组中原文:
a=new Array("limeng","xiaohu","zhangsang","a","b","c","d","e")
trace("begin")
trace(a.slice(4,-2))
trace(a.slice(2,3))
trace(a.slice(-5,-2))
trace(a.slice(-5,6))
trace(a.slice(1,3))
trace(a.slice(3,-3))
trace("end")

书本上的没有begin 和end,我为了分清,所以才加了两个
关于slice是不是start的包括,end不包括,还有,是不是开始是从a0,a1,a2,而从后面开始就是(当start,end为负的时候)就是a1,a2,a3了??
你们5dmedia在书本中写得不是很清楚,希望能解释一下。



outwindow

职务:普通成员
等级:1
金币:0.0
发贴:105
#22001/7/18 18:09:33
我觉得是这样的,start,如果是正数的话,就从下一个开始,如果是负数就从本身开始。trace(a.slice(4,-2))---->("b","c")
trace(a.slice(2,3))--->("zhangsang")
trace(a.slice(-5,-2))---->("a","b","c")我也模糊,请指教



zjwfruit

职务:普通成员
等级:1
金币:0.0
发贴:43
#32001/7/18 18:34:47
我认为slice包括start但不包括end,正数序号从“0”开始,负数从“1”开始,
比如slice(-5,-2)就想当于从右边起第5个开始(包括这一位),到右边起
第2个结束(不包括这一位);而slice(5,-2)的话,就是从左边第6个开
始(包括这一位),到右边起第2个结束(不包括这一位)。



bravexin

职务:普通成员
等级:1
金币:0.0
发贴:3
#42001/7/19 9:52:23
按照我的想法和逻辑得出的结论就是我post中的说法,照这种方法,可以得出和flash运行后同样的结果,
现在我就是想确认一下,对数组的概念不是太清楚(以前大学时候不用功)。



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#52001/7/19 9:57:45
-1是最后一个,-2是倒数第2个,以此类推.



bgxboy

职务:普通成员
等级:1
金币:0.0
发贴:145
#62001/7/20 19:47:26
我觉得这是5D的BUG在地155页的倒数第三行写的是:如果start和end为负值,则从数组的最后一个元素开始。这句话误导我们以为是从0开始,这是作者的疏忽!



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#72001/7/20 22:23:52
不知道



zjz19790830

职务:普通成员
等级:1
金币:0.0
发贴:5
#82001/7/23 16:38:47
我认为顺着数从1开始,1,2,3;倒着数从0开始,0,-1,-2.slice(a,b)从a开始但不包括a,到b结束但包括b. ;)



bravexin

职务:普通成员
等级:1
金币:0.0
发贴:3
#92001/7/26 15:34:29
怎么5d的人没有回贴?难道那本书是别人冒充5d的名义写的?



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#102001/7/26 15:48:38
那个地方不是我写的,所以我的回答只是:

-1是最后一个,-2是倒数第2个,以此类推.