如何使用slice和splice来处理数组
前面的博文中,我们谈到了如何在数组前面或后面插入数组元素。这样说做好也许是常用的,但有时候我们可能想在数组的任何地方进行增减操作。下面我们就来看看该怎么办?
splice()方法。splice英文中的意思是拼接。意味着把两个东西通过某种方法连接起来。splice方法需要我们删除数组中的某些元素,然后插入另一些元素。splic方法需要两个必备的参数:一是开始索引(插入元素和删除元素的开始的地方),而是删除的数量(如果是0则表示只插入不删除)。这是两个必备的参数,还可以加入任何数量的可选参数,这些参数都是从开始索引地方加入的元素。splice方法返回删除的元素。
- var shan:Array = ["恒山", "泰山", "衡水", "嵩山", "华山",
- ];
- trace(shan); //恒山,泰山,衡水,嵩山,华山
- var xiugai:Array = shan.splice(2, 1, "衡山");
- trace(shan); //恒山,泰山,衡山,嵩山,华山
- trace(xiugai); //衡水
使用slice()方法如果你想从数组中抽取一部分元素进行单独的处理,你可以使用slice方法。记得前面我们在说字符串的时候也有这个方法,其实它们的工作方式是差不多的,你得指定你想抽取数组元素的开始和结束的索引(不处理结束的索引)。
- var shan:Array = ["恒山", "泰山", "衡水", "黄山","九华山","喜马拉雅山","嵩山", "华山",
- ];
- var xiugai:Array = shan.slice(3, 6);
- trace(shan); //恒山,泰山,衡水,黄山,九华山,喜马拉雅山,嵩山,华山
- trace(xiugai); //黄山,九华山,喜马拉雅山
slice方法还可以使用负数作为参数,这时候,我们得从后面开始计数,而不是前面。
- var shan:Array = ["恒山", "泰山", "衡水", "黄山","九华山","喜马拉雅山","嵩山", "华山",
- ];
- trace(shan);//恒山,泰山,衡水,黄山,九华山,喜马拉雅山,嵩山,华山
- var xiugai:Array=shan.slice(-5,-2);
- trace(xiugai);//黄山,九华山,喜马拉雅山
同样,使用splice和slice方法只是创建了新的数组,而并没有改变原始数组的数据。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例