怎样在一个字符串中去掉重复的字符呢
第一次代码:
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;
}
差别很大吧,呵呵,看来编程思想太重要了.
第一次代码:
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;
}
差别很大吧,呵呵,看来编程思想太重要了.
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}