来自 操作系统 2020-01-28 06:28 的文章
当前位置: 美高梅游戏平台网站 > 操作系统 > 正文

删除二维数组中相同的数组元素2(简单问题简单解决)

  今天粗略地查看了一下Javascript资料,才发现Javascript里面原来有个delete运算符用来删除对象的属性或者数组的元素的。原来自己对于Javascript还有很多不懂的。- -||
  于是就想到了拿delete运算符来解决删除数组中重复的元素这个问题,尝试了一下,原来还真行。而且代码还是相当的简单。所以呢,大家要将Javascript学得更加全面一点,这样就不会将简单的问题复杂化了,想想自己上次的那种思路现在都觉得大汗淋漓。写代码就要采用KISS(Keep It Simple Sweet)准则。
  代码如下:
<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>

昨晚在论坛上遇到这样的一个问题,如题!
以前我都没有遇到过这样的问题,也许是自己懒吧
非常感谢那位楼主提出的那个问题,今天我终于解决了,全凭自己的思路解决的,所以觉得挺开心的,所以就来跟大家分享一下啦
昨晚刚看这道问题的时候,我觉得非常easy,甚至有点不屑一顾,于是我就开始写代码想来解决楼主的这个问题了。
但是当我写好代码调试的时候,那些结果总是不堪入目,后来用过不少方法去试验,但是都不是想要的结果,这才发现原来我一直都没有遇到过这样的问题,以前倒是遇到过删除列表项中重复的选项的,但是列表框的起码也有个Remove()方法来操作。于是我就翻阅Javascript的资料,OH NO!原来Javascript的数组没有删除数组元素的方法。于是,自己就写代码,但是可能开始时候自己的思路就错了吧,于是就一直将错就错,昨晚直到错到自己都有点灰心了,于是当时就想唯有等待改天看高手如何的解答了。
还好今早我一早醒了突然思路就清晰了!看来算法不应该在电脑前去思考,呵呵。]
希望大家以后多点来关注,多点来交流。
码如下:
<html>
<script>
/*
  delPointElement(arr,index)函数用来删除数组中指定的元素,
  具体可参考《数据结构》顺序表的删除元素算法
*/
function delPointElement(arr,index)
{
  for(i=index;i<arr.length-1;i++)
  {
    arr[i]=arr[i+1];
  }
  arr.length=arr.length-1;
}
var st=[1,2,4,5,6,7,7,8,8,2,3,4];
var s2=new Array(); //存储数组中相同元素的下标位置
//下面的双重循环遍历数组用来获取数组中相同元素的下标位置
for(i=0;i<st.length;i++)
{
  for(j=i+1;j<st.length;j++)
  {
     if(st[j]==st[i])
     {
       s2.push(j);
     }
  }
}
//将原来数组中相同的元素值设为null
for(i=0;i<s2.length;i++)
{
  st[s2[i]]=null;
}
//下面是一个递归函数用来删除数组中所有值为null的元素
function Recursion(count)
{
  if(count<=0)
  {
    return;
  }
  for(i=0;i<count;i++)
  {
    if(st[i]==null)
    {
      delPointElement(st,i);
    }
  }
  Recursion(count-1);
}
Recursion(st.length)
//输出最后的结果
for(i=0;i<st.length;i++)
{
  document.write(st[i]);
}
</script>
</html>

本文由美高梅游戏平台网站发布于操作系统,转载请注明出处:删除二维数组中相同的数组元素2(简单问题简单解决)

关键词: