Javascriptの並べ替えコールバックがすべてのブラウザで機能しない

ザック・スミス

私は次のコードを持っています:

var r = [
    ['Pipe repair', '3 Bravo', 'Household Baker'],
    ['New connection', '5 Delta', 'Household Griffith'],
    ['Pipe repair', '3 Bravo', 'Household Baker'],
    ];
r = r.sort(function(a, b) {
    return (a[0] > b[0]) ? 1: 0;
    // EDIT: I mistakingly copied newer code than the original code I was testing. However the answer was still on point.
    // The original code (that worked in Chrome but not Safari or my Rhino environment):
    // return a[0] > b[0]; 
});
    
console.log(r)

Google Chromeは、node.jsと同様に、並べ替えられた出力を生成します。ただし、Safariはそうではありません(おそらく古いバージョンのFirefoxもそうではありません)。このスクリプトは、Androidアプリ内のRhinoインタープリターによって実行されています

すべてのブラウザーでこれと同じ種類を実現するにはどうすればよいですか(このスクリプトが実行されているプラ​​ットフォームで問題が解決すると想定しています)。

先のとがった

渡すコールバックは次を.sort()返す必要があります

  • -1、最初の引数が2番目の引数の前にソートする必要がある場合。
  • 0、引数のソート順が同じ場合。
  • 1、2番目の引数が最初の引数の前にソートする必要がある場合。

あなたのコールバックは基本的にSafariのソートメカニズムに悪い答えを与えているので、ソートプロセスは混乱します。具体的には、キーが同じ、2番目のキーが最初のキーよりも小さい場合、コールバックは0を返します

文字列を比較するために.localeCompare()、最新のブラウザで使用できます(基本的に私が知っているすべてのブラウザ):

r = r.sort(function(a, b) {
    return a[0].localeCompare(b[0]);
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ChromeブラウザでJqueryの並べ替え機能が機能しない

分類Dev

日付の並べ替えがブラウザ間で機能しないのはなぜですか?

分類Dev

ブートストラップテーブルの並べ替えがすべての列で機能しない

分類Dev

MSWordでのテーブルの並べ替えが機能していないようです

分類Dev

ベクトルでの並べ替えが機能しない

分類Dev

Rスタックバーの並べ替えが機能しない

分類Dev

contains()がすべてのブラウザで機能しない

分類Dev

jqueryuiの並べ替え可能なテーブルが機能しないのはなぜですか?

分類Dev

ifステートメントのJavascriptがすべてのモバイルブラウザで正しく機能しない

分類Dev

並べ替え専用のコードが機能しない

分類Dev

HTMLテーブルの並べ替えが正しく機能しない

分類Dev

昇順で並べ替えているときにバブルソートが機能しない

分類Dev

ng-テーブルの並べ替えがうまく機能しない

分類Dev

並べ替えとフィルターの連鎖が機能しないjavascript

分類Dev

JavaScriptでデータの並べ替え方法が機能しない

分類Dev

列のブートストラップの並べ替えが機能しない(特定の場合)

分類Dev

Firefoxでは理解できないJavascriptコードですが、他のすべてのブラウザで機能します

分類Dev

UltimateDateプラグインを使用したデータテーブルの並べ替えが機能しない

分類Dev

「新しいコンテンツ要素」ウィザードのバックエンドでFCEを並べ替え/並べ替える方法

分類Dev

配列の並べ替えがバックエンドから既に並べ替えられているのに、reactjsで機能しないのはなぜですか?

分類Dev

高さ 100% がすべてのブラウザで機能しない

分類Dev

並べ替えテーブルが機能しないVue

分類Dev

並べ替えが機能していないようです

分類Dev

Angular 6-すべてのテーブル列の並べ替えは、すべてではなく2つの列でのみ機能します

分類Dev

ドラッグと並べ替えが JavaScript で機能しない

分類Dev

ng- $ resourceを使用するとテーブルの並べ替えと検索が機能しない

分類Dev

Python Bokeh、コールバックの例がブラウザで機能しない

分類Dev

コレクションの並べ替えが正しく機能しない

分類Dev

Javascriptテーブルの並べ替えはうまく機能しますが、すべてのインデックスを反復処理すると異なる結果が得られます

Related 関連記事

  1. 1

    ChromeブラウザでJqueryの並べ替え機能が機能しない

  2. 2

    日付の並べ替えがブラウザ間で機能しないのはなぜですか?

  3. 3

    ブートストラップテーブルの並べ替えがすべての列で機能しない

  4. 4

    MSWordでのテーブルの並べ替えが機能していないようです

  5. 5

    ベクトルでの並べ替えが機能しない

  6. 6

    Rスタックバーの並べ替えが機能しない

  7. 7

    contains()がすべてのブラウザで機能しない

  8. 8

    jqueryuiの並べ替え可能なテーブルが機能しないのはなぜですか?

  9. 9

    ifステートメントのJavascriptがすべてのモバイルブラウザで正しく機能しない

  10. 10

    並べ替え専用のコードが機能しない

  11. 11

    HTMLテーブルの並べ替えが正しく機能しない

  12. 12

    昇順で並べ替えているときにバブルソートが機能しない

  13. 13

    ng-テーブルの並べ替えがうまく機能しない

  14. 14

    並べ替えとフィルターの連鎖が機能しないjavascript

  15. 15

    JavaScriptでデータの並べ替え方法が機能しない

  16. 16

    列のブートストラップの並べ替えが機能しない(特定の場合)

  17. 17

    Firefoxでは理解できないJavascriptコードですが、他のすべてのブラウザで機能します

  18. 18

    UltimateDateプラグインを使用したデータテーブルの並べ替えが機能しない

  19. 19

    「新しいコンテンツ要素」ウィザードのバックエンドでFCEを並べ替え/並べ替える方法

  20. 20

    配列の並べ替えがバックエンドから既に並べ替えられているのに、reactjsで機能しないのはなぜですか?

  21. 21

    高さ 100% がすべてのブラウザで機能しない

  22. 22

    並べ替えテーブルが機能しないVue

  23. 23

    並べ替えが機能していないようです

  24. 24

    Angular 6-すべてのテーブル列の並べ替えは、すべてではなく2つの列でのみ機能します

  25. 25

    ドラッグと並べ替えが JavaScript で機能しない

  26. 26

    ng- $ resourceを使用するとテーブルの並べ替えと検索が機能しない

  27. 27

    Python Bokeh、コールバックの例がブラウザで機能しない

  28. 28

    コレクションの並べ替えが正しく機能しない

  29. 29

    Javascriptテーブルの並べ替えはうまく機能しますが、すべてのインデックスを反復処理すると異なる結果が得られます

ホットタグ

アーカイブ