4 回答

TA貢獻1825條經(jīng)驗 獲得超6個贊
你已經(jīng)把語句放在for循環(huán)內(nèi),它應該在循環(huán)體之外。return
您的代碼也不正確。 應從 0 開始,應從 1 開始。countother_count
count >= str.length - 1應該是(此條件在代碼中是完全不必要的,因為應該是循環(huán)中的終止條件)count < str.length - 1other_count < str.length
和
other_count >= str.length應該是other_count < str.length
這是您更正的代碼
function is_alphabetic(str) {
let result = true;
for (let count = 0, other_count = 1; other_count < str.length; count++, other_count++) {
if (str[count] > str[other_count]) {
result = false
}
}
return result;
}
console.log(is_alphabetic('abc'));
這是一種替代方法
function is_alphabetic(str){
return str.split('')
.every((c, idx) => str[idx + 1] ? c < str[idx + 1] : true);
}
console.log(is_alphabetic('abc'));
請記住,如果希望字符之間的比較不區(qū)分大小寫,請在比較字符之前將字符串轉(zhuǎn)換為小寫。

TA貢獻1890條經(jīng)驗 獲得超9個贊
代碼中存在兩個問題:
您的返回語句位于您的 for 循環(huán)中。為了避免這樣的錯誤,你可以得到一個更漂亮的代碼格式化程序;
您的 for 循環(huán)條件無效。請記住,for-loop 語句的第二部分應該是執(zhí)行迭代并停止執(zhí)行迭代。在這種情況下,您的條件將首先計算,由于逗號運算符而丟棄結(jié)果,評估立即解析為 。
true
false
count >= str.length-1, other_count >= str.length
count >= str.length-1
other_count >= str.length
false
這兩件事結(jié)合在一起,使得你的函數(shù)永遠不會返回,javascript 運行時將其解釋為 .undefined
希望這有助于您了解出了什么問題。但正如許多其他人指出的那樣,有更好的方法來解決你試圖解決的問題。

TA貢獻1876條經(jīng)驗 獲得超5個贊
我認為如果您使用此函數(shù)比較字符串會更容易:
var sortAlphabets = function(text) {
return text.split('').sort().join('');
};
這將產(chǎn)生如下結(jié)果:
sortAlphabets("abghi")
output: "abghi"
藝術
sortAlphabets("ibvjpqjk")
output: "bijjkpqv"
如果你想知道你的字符串是否按字母順序排序,你可以使用:
var myString = "abcezxy"
sortAlphabets(myString) == myString
output: false
或者,如果您想創(chuàng)建一個特定的函數(shù):
function isSorted(myString) {
return sortAlphabets(myString) == myString
}
在這種情況下,您可以使用:
isSorted("abc")
var sortAlphabets = function(text) {
return text.split('').sort().join('');
};
function isSorted(myString) {
return sortAlphabets(myString) == myString
}
alert("is abc sorted: " + isSorted("abc"));
alert("is axb sorted: " + isSorted("axb"));

TA貢獻1906條經(jīng)驗 獲得超10個贊
您只需要將字符串與其相應的“排序”字符串進行比較即可
let string = 'abc'.split('').join('');
let sortedString = 'abc'.split('').sort().join('');
console.log(sortedString === sortedString)
let string2 = 'dbc'.split('').join('');
let sortedString2 = 'dbc'.split('').sort().join('');
console.log(string2 === sortedString2)
添加回答
舉報