我有一個簡單的問題。 我想寫一個字符串比較器函數,它會返回一個數字來指示第一個字符串是小於,等於還是大於第二個字符串。Javascript字符串比較功能
顯然,最簡單的解決方法是:
function compare (x, y){
return x < y ? -1 : (x === y ? 0 : 1);
}
然而,這並不是一個非常有效的一個,因爲字符串進行兩次比較。另一方面,實現一個典型的教科書解決方案(迭代兩個字符串並比較各個位置中的字符)可能會更加低效,因爲Javascript沒有單個字符的概念 - 而是有一個字符串。
那麼,有沒有使用一些內置的JavaScript功能(ES5,也許?)有一個這樣的功能的有效實現或我們堅持與上述代碼?
你的三元運算符缺少a:所以我修正了它,再加上我給你的函數一個名字。 – epascarello
哎呀,對不起。謝謝。 – mark
您是否看到我對內置方法的評論不是更快?僅僅因爲它是「語言」的一部分並不意味着它「更好」。 – epascarello