配列内のアイテムをシャッフルする関数を書いています。
this.shuffle = function () {
...
まず、配列の2つの半分を取得し、3番目の空の配列を設定します。
this.leftHalf = this.cards.slice(0, this.size() / 2);
this.rightHalf = this.cards.slice(this.size() / 2);
this.result = [];
次に、各半分から1枚のカードを結果の配列に入れます。
for (var i = ...) {
this.result.unshift(this.leftHalf[i]);
this.result.unshift(this.rightHalf[i]);
}
最後に、結果の配列を元の配列に割り当て、「一時」変数を削除します。
this.cards = this.result;
delete this.leftHalf;
delete this.rightHalf;
delete this.result;
}
私の質問:これはこの問題に取り組むための賢明な方法ですか、それとも一時変数の設定を伴わないより良い方法がありますか?代わりにプライベート変数を使用することを考えました(ただし、パフォーマンスが向上するかどうかはわかりませんでした)。
var leftHalf, rightHalf, result;
this.shuffle = function () {
leftHalf = ...
私が間違っていることが明らかなことがあったかどうか、またはこれらの場合のベストプラクティスがあるかどうかだけが気になります。