1

適切な用語が欠けているに違いないか、そうでなければ、検索で答えを見つけることができると確信しています...いずれにせよ、これが私がやりたいことです。

JavaScript を使用して、並べ替えたい 4 つの変数 (A、B、C、および D) を取得し、変数名を追跡します (意味情報でエンコードされているため)。

サンプルデータ:

A = 2;
B = 1;
C = 4;
D = 3;

私が今しなければならないことは、実際に変数名の順序 (C、D、A、B) を知ることができるように、それらを値の順序 (4、3、2、1) で並べ替えることです。

4

3 に答える 3

5

値ペア オブジェクトの配列を保持し、その配列を単純に並べ替えることができます。もちろん、配列の sort メソッドはオブジェクトを解釈する方法を知る必要がありますが、それは sort メソッドに比較関数を提供することで実現できます。

最初にオブジェクトの配列を宣言します。

sample_data = [
  { name: 'A', value: 2 },
  { name: 'B', value: 1 },
  { name: 'C', value: 4 },
  { name: 'D', value: 3 }
];

次に比較関数を書きます。

function custom_compare (a,b) {
  // I'm assuming all values are numbers
  return a.value - b.value;
}

次に、単純に並べ替えて逆にします。

sample_data.sort(custom_compare).reverse();

並べ替えられた名前を出力するには、配列を反復処理します。

for (var i=0;i<sample_data.length;i++) {
  console.log(sample_data[i].name);
}
于 2012-09-25T04:11:35.647 に答える
0

Javascriptで実装された「連想配列」のようなものを探すべきだと思います。

回答については、この前のスレッドを確認してください。

于 2012-09-25T03:51:12.600 に答える
0

お役に立てますように:

https://github.com/shinout/SortedList

これは sortedlist ライブラリです。

于 2012-09-25T03:40:41.727 に答える