4 回答
TA贡献1825条经验 获得超6个赞
你已经把语句放在for循环内,它应该在循环体之外。return
您的代码也不正确。 应从 0 开始,应从 1 开始。countother_count
count >= str.length - 1应该是(此条件在代码中是完全不必要的,因为应该是循环中的终止条件)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'));
请记住,如果希望字符之间的比较不区分大小写,请在比较字符之前将字符串转换为小写。
TA贡献1890条经验 获得超9个赞
代码中存在两个问题:
您的返回语句位于您的 for 循环中。为了避免这样的错误,你可以得到一个更漂亮的代码格式化程序;
您的 for 循环条件无效。请记住,for-loop 语句的第二部分应该是执行迭代并停止执行迭代。在这种情况下,您的条件将首先计算,由于逗号运算符而丢弃结果,评估立即解析为 。
true
false
count >= str.length-1, other_count >= str.length
count >= str.length-1
other_count >= str.length
false
这两件事结合在一起,使得你的函数永远不会返回,javascript 运行时将其解释为 .undefined
希望这有助于您了解出了什么问题。但正如许多其他人指出的那样,有更好的方法来解决你试图解决的问题。
TA贡献1876条经验 获得超5个赞
我认为如果您使用此函数比较字符串会更容易:
var sortAlphabets = function(text) {
return text.split('').sort().join('');
};
这将产生如下结果:
sortAlphabets("abghi")
output: "abghi"
艺术
sortAlphabets("ibvjpqjk")
output: "bijjkpqv"
如果你想知道你的字符串是否按字母顺序排序,你可以使用:
var myString = "abcezxy"
sortAlphabets(myString) == myString
output: false
或者,如果您想创建一个特定的函数:
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条经验 获得超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)
添加回答
举报