前にバック状態に配列を取得:「unsorting」配列 - 私はArrayListのを持っているし、それを並べ替える場合は.sort javascriptの
myArrayList.sort(function(a, b) { return a - b });
取得することが可能である「myArrayList」バックそれは前だったために。ソートされていない配列のバックアップがなくてもうまくいきますか?並べ替えを元に戻し、話す。
前にバック状態に配列を取得:「unsorting」配列 - 私はArrayListのを持っているし、それを並べ替える場合は.sort javascriptの
myArrayList.sort(function(a, b) { return a - b });
取得することが可能である「myArrayList」バックそれは前だったために。ソートされていない配列のバックアップがなくてもうまくいきますか?並べ替えを元に戻し、話す。
はい、このようにArray#slice()
で以前に作成したコピーでを並べ替えてからにコピーしてください。
slice()
メソッドは、配列の一部のシャローコピーを新しい配列オブジェクトに返します。
var myArrayListCopy = myArrayList.slice();
var myArrayList = [1000, 5, 2, 8, 42, 101, 111, 20],
myArrayListCopy = myArrayList.slice(); // make copy from unsorted array first
document.write('<pre>original ' + JSON.stringify(myArrayList, 0, 4) + '</pre>');
myArrayList.sort(function (a, b) { return a - b; });
document.write('<pre>sorted ' + JSON.stringify(myArrayList, 0, 4) + '</pre>');
myArrayList = myArrayListCopy; // assign backup
document.write('<pre>from backup ' + JSON.stringify(myArrayList, 0, 4) + '</pre>');
あなたはフィドルで表示できますか? http://jsfiddle.net/dLLan/33/ < - this aint working –
@AndersPedersen、editを参照してください。ソートする前にコピーを作成します。 –
大丈夫、あなたの答えをありがとう。 –
直接答えが
'いいえ、それがないではない'
のでは、ソート後の最終的な結果はcorrespです論理的な行動のいくつかの種類は、あなたが追加した場合ときにソートするために行っているロジックにonding、あなたは常にそれを信頼することはできませんすることはリバーシブルになります。 比較する履歴データはありません(動的の場合)
並べ替える前にコピーを作成してください。
コピー! - 意図しない言葉 –
あなたはソート元に戻すにしたいですか?並べ替えを行う前に、以前の配列のバックアップをとる必要があると思います。保存されていない状態は検索できません。 – gurvinder372
はい、私はソート元に戻します。可能であればバックアップなしで行うことをお勧めします。 –
ソートすると、以前のアイテムの配置が失われ、記憶されません。バックアップを取らない限り、元の状態に元に戻すことはできません。お知らせしている – gurvinder372