0

Javascriptの問題

以前、 Javascript 2D 配列の並べ替えについて、並べ替え機能を使用して解決策を提供するという質問をしましたが、成功せずに使用しようとしました。私が使用しているツール内で並べ替え機能が正しくないことがわかりました.5つの値を並べ替えてから動作を停止し、負の値などを使用して動作していません.開発チームに話され、アップグレードするように言われました-オプションではありません.

Tl:dr - 組み込みの並べ替え機能を使用せずに並べ替える必要があります。

私は2つの配列を持っています

values = [1000, 2356, 3456778, 7645748, -2324, 348845.45, -2345666]

labels = ["ValA", "ValB", "ValC", "ValD", "ValE", "ValF", "ValG", "ValH"]

これらを組み合わせて [1000、ValA など] を表示し、最大値を最初に表示する必要があります。

組み込みの並べ替え機能がないと、どうすればよいか途方にくれます。Math.Max を使用して配列を循環しようとしましたが、これら 2 つの配列を組み合わせると、関数が機能しなくなりました。

これら 2 つの個別の配列を結合するか、元のインデックスとラベルへのリンクを記憶して、並べ替えが簡単になるように別々に保持するかはわかりません。

どんな考えや質問でも歓迎します。私は本当に困惑しており、商売は開発者ではないので、私をサポートしてくれるかもしれない親切な魂がそこにいると確信しています。

ありがとう

期待される出力

[7645748, ValD]
[3456778, ValC]
[348845.45, ValF]
[2356, ValB]
[2324, ValE]
[1000, ValA]
[-2345666, ValG]
4

4 に答える 4

0

var list = ['z','b', 'a', 'y'];

for (var j = 0; j < list.length - 1; j++) {
    for (var i = 0, swapping; i < list.length - 1; i++) {
      if (list[i]> list[i + 1]) {
        swapping = list[i + 1];
        list[i + 1] = list[i];
        list[i] = swapping;
        }; 
    }; 
};

出力は = ["a", "b", "y", "z"] になります

于 2019-12-20T05:19:22.970 に答える