5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:
性别:秘密
最后登录:2007-04-12
http://hbbalfred.5d.cn/
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2004/11/08 | 删除一维数组中,连续出现的相同元素
类别(Flash)
|
评论
(8)
|
阅读(821)
|
发表于 15:40
写了一个方法,觉得思路还可以...^^
是删除一个一维数组中,如果出现连续出现的相同元素就删除掉,自己定义的是连续3个就删除
var array = [0, 1, 1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 0, 5, 5, 5, 5];
var last:Number;
var count:Number;
function remove ()
{
for (var i = 0; i < array.length; i++)// 从头循环
{
if (i == array.length)// 如果查到最后一个了,就跳出递归
{
return true;
}
else
{
if (array[i] == last) // 如果当前数于最近数相等
{
if ((++count) >= 3 && (array[i + 1] != last))// 次数大于等于3,并且后一个数不等于最近数
{
array.splice (i - count + 1, count);// 删除数据
return remove ();// 重头再找
}
}
else// 如果不相等
{
last = array[i];// 那么当前数等于最近数
count = 1;// 出现次数为1
}
}
}
}
remove ();
trace (array);// 输出数组
0
评论
Comments
日志分类
首页
[76]
Say
[10]
Flash
[31]
PHP
[3]
XML
[2]
Cool
[12]
Weapon
[10]
Other
[8]