0

テーブル行を使用してレコードを表示するライブスコアアプリケーションに取り組んでいます。並べ替えは、dateTime+countryId+leagueId+matchId によって作成された値を持つ tr クラス名によって行われるため、クラスは 1349565600312117160466446000000000000000 のようになります (すべての数字が同じ長さになるように、末尾にゼロを追加しています)。

問題 (ゼロの有無にかかわらず) は、数値が大きすぎて JavaScript での並べ替えに使用できないため、目的を達成する方法があるかどうか疑問に思っていました。

4

3 に答える 3

0

すべての数値が同じ長さの場合は、それらを文字列として並べ替えることができます。

フィールドの長さがすべて同じでない場合 (例: 2 桁の国 ID と 1 桁の国 ID)、問題が発生する可能性があることに注意してください。その場合、クラス名にパックされる前にすべての値をゼロで埋めるか、数値以外の文字で値を結合し、分割された数値の配列を並べ替えることができます。

于 2012-10-06T23:44:44.253 に答える
0

すべての数値が同じ長さであるため、文字列を並べ替える手法を使用します。この数値を文字に変換し、ASCII 値に従って並べ替えます。

$(function(){    
    var strings = [];
    strings.push(your_value); // your_value like 1349565600312117160466446000000000000000
    strings.sort();
}); 

文字列配列に必要なだけ値を挿入すると、strings.sort()それらがソートされます!

于 2012-10-06T23:46:59.237 に答える
0

あなたは2つの機能を持つことができます:

  1. あなたが言及したように、この数を個々のアイテムに分割するもの
  2. それらを再現するもの。

ページの読み込み時に、DOM 内のすべての項目を処理する関数を呼び出し、配列にデータを入力し、そこで並べ替えを行い、配列を繰り返して新しい DOM 順序を作成します

于 2012-10-06T23:51:01.697 に答える