2006/01/06 | 写一个去掉重复字符的方法
类别(Flash&AS2) | 评论(0) | 阅读(121) | 发表于 23:43
怎样在一个字符串中去掉重复的字符呢
第一次代码:
var str = "December";
var numArray:Array = new Array();
var curStr:String = "";
var flag;
for (var i = 0; i<str.length; i++) {
  var str_i = str.charAt(i);
  flag = false;
  for (var k = 0; k<numArray.length; k++) {
    if (str_i == numArray[k]) {
      flag = true;
    }
  }
  for (var j = i+1; j<str.length; j++) {
    if (str_i == str.charAt(j)) {
      numArray.push(str_i);
    }
  }
  if (!flag) {
    curStr += str_i;
  }
}
trace("去掉重复字符为="+curStr);

优化后代码:
DeleteTheSameChar("Billows");
function DeleteTheSameChar(str:String) {
  var newStr = "";
  for (var i = 0; i<str.length; i++) {
    if (newStr.indexOf(str.charAt(i)) == -1) {
      newStr += str.charAt(i);
    }
  }
  trace("newStr="+newStr);
  return newStr;
}
差别很大吧,呵呵,看来编程思想太重要了.
0

评论Comments

日志分类
首页[116]
Flash&AS2[56]
FMS[3]
Flex&AS3[5]
Asp[5]
My Works[13]
My Life[34]