写一个去掉重复字符的方法

      Flash&AS2 2006-1-6 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;
}
差别很大吧,呵呵,看来编程思想太重要了.
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}