编写一个JavaScript程序,按字母顺序转换给定字符串的字母。
function transform52 (){
var str = document.getElementById("string52").value;
toArray = str.split();
for(i=0 ; i<toArray.length - 1 ; i++){//Input: ba
if (toArray[i].charCodeAt(0) > toArray[i+1].charCodeAt(0) ){ // true
var temp;
temp = toArray[i]; // temp = b
toArray[i] = toArray[i+1] // toArray[0] = a
toArray[i+1] = temp; // toArray[1] = b
}
}
document.getElementById("result52").innerHTML = toArray.join(""); //Output: ba :(
}
我是JavaScript的新手,我正在尝试解决这个问题,但结果是错误的,我真的不明白为什么。
为什么我的代码不起作用?
答案 0 :(得分:0)
您应该使用空字符串调用split
以获取字符数组。
function transform52() {
const str = document.getElementById("string52").value;
const toArray = str.split("");
for (i = 0; i < toArray.length - 1; i++) { //Input: ba
if (toArray[i].charCodeAt(0) > toArray[i + 1].charCodeAt(0)) { // true
var temp;
temp = toArray[i]; // temp = b
toArray[i] = toArray[i + 1] // toArray[0] = a
toArray[i + 1] = temp; // toArray[1] = b
}
}
document.getElementById("result52").innerHTML = toArray.join(""); //Output: ba :(
}
transform52();
<input id="string52" type="text" value="ba" />
<div id="result52" />
答案 1 :(得分:0)
function transform52 (){
var str = document.getElementById("string52").value,
toArray = str.split("").sort();
document.getElementById("result52").innerHTML = toArray.join("");
}
这是我的解决方案,不能相信这很容易:)