写出来放这里,以后可以再次使用。 //Sequential from A to ZZZ based input function Sequential(input){ var str = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); var initials = input ; if(initials.length == 1){ if(initials != "Z"){ for(var i =0 ; i < str.length; ++i){ if(str[i] == initials){ initials = str[i + 1]; break; } } }else{ initials = "AA"; } }else if(initials.length == 2){ var firstChar = initials.charAt(0); var lastChar = initials.charAt(1); if(firstChar == 'Z' && lastChar == 'Z'){ initials = "AAA"; }else{ if(lastChar != 'Z'){ //increment the lastChar from A to Z initials = firstChar + recomputeInitials(lastChar); }else{ //increment the firstChar from A to Z initials = recomputeInitials(initials.charAt(0)) + lastChar; } } }else if(initials.length == 3){ var firstChar = initials.charAt(0); var middleChar = initials.charAt(1); var lastChar = initials.charAt(2); if(firstChar == 'Z' && middleChar == 'Z' && lastChar == 'Z'){} else{ if(lastChar != 'Z'){ initials = firstChar + middleChar + recomputeInitials(lastChar); }else if(lastChar == 'Z' && middleChar != 'Z'){ initials = firstChar + recomputeInitials(middleChar) + lastChar; }else if(lastChar == 'Z' && middleChar == 'Z' && firstChar != 'Z'){ initials = recomputeInitials(firstChar) + middleChar + lastChar; } } }else{ initials = initials.substring(0,3);//just return the first 3 chars } return initials; } 如Sequential("DFS") => "DFT"