标题:JS筛选
只看楼主
编程之星
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:285
专家分:391
注 册:2007-4-10
得分:0 
昨晚我遇到一个高手也和他在讨论这个问题。谁知道他只是几分钟之后就写了一段代码给我,原理也是遍历数组的,但代码精炼。运行效率应该也可以接受。高手啊。下面和大家分享一下他的这段代码。稍微做了一些简单的修改。
<script>
var Arr1=['1','2','2','3','2','3','2','5'];
var Arr2 = new Array();
var isHave; //判断Arr2数组中是否存在Arr1数组中的数组元素
for(var i=0,j=Arr1.length;i<j;i++)
{
    isHave = false;
    for(var x=0,y=Arr2.length; x<y; x++)
    {
        if(Arr1[i] == Arr2[x])
        {
            isHave = true;
            break;
        }
    }
    if(!isHave)
    {
        Arr2.push(Arr1[i]);
    }
}
alert(Arr2);
</script>

怎么越学就觉得自己越笨
2008-03-31 10:38
kevintang
Rank: 4
等 级:业余侠客
威 望:9
帖 子:799
专家分:236
注 册:2008-2-14
得分:0 
顶!学习了!
2008-03-31 13:12
编程之星
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:285
专家分:391
注 册:2007-4-10
得分:0 
今天粗略地查看了一下Javascript资料,才发现Javascript里面原来有个delete运算符用来删除对象的属性或者数组的元素的。原来自己对于Javascript还有很多不懂的。- -||
  于是就想到了拿delete运算符来解决删除数组中重复的元素这个问题,尝试了一下,原来还真行。而且代码还是相当的简单。所以呢,大家要将Javascript学得更加全面一点,这样就不会将简单的问题复杂化了。
  代码如下:
<script language="Javascript">
var arr=new Array(5,5,2,3,1,5,2,6,6,5,2,3,8);
for(i=0;i<arr.length;i++)
{
  for(j=i+1;j<arr.length;j++)
  {
    if(arr[j]==arr[i])
    {
      delete arr[j]; //用delete运算符删除重复的数组元素
    }
  }
}
for(i=0;i<arr.length;i++)
{
  //用delete运算符删除了数组中的元素后,该元素值就成了undefined
  if(arr[i]!=undefined)
  {
    document.writeln(arr[i]); //输出结果
  }
}
</script>
收到的鲜花
  • kevintang2008-04-16 16:00 送鲜花  1朵   附言:我很赞同

怎么越学就觉得自己越笨
2008-04-16 15:03
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
得分:0 
[bo]以下是引用 [un]编程之星[/un] 在 2008-4-16 15:03 的发言:[/bo]

今天粗略地查看了一下Javascript资料,才发现Javascript里面原来有个delete运算符用来删除对象的属性或者数组的元素的。原来自己对于Javascript还有很多不懂的。- -||
  于是就想到了拿delete运算符来解决删除数组中重 ...



变成了undefiend,然后呢???照样不是位子空在那里~~~
难道在这里的人就不会真正的去学下高效和出色的代码???
我都明确的说了,Prototype框架Array对象的uniq方法~~
orz~~你们继续视而不见吧

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2008-04-17 08:52
编程之星
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:285
专家分:391
注 册:2007-4-10
得分:0 
不好意思,惭愧,惭愧,呵呵

怎么越学就觉得自己越笨
2008-04-17 09:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205718-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040461 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved