別の配列の順序に基づいて配列を配置しようとしています
function Sort(old, new){
var temp = [];
for(var i=0; i<old.length; i++){
temp[i] = old[new[i]];
}
return temp;
}
temp[]
追加のアレイを使用せずに同じことを達成することは可能ですか?
別の配列の順序に基づいて配列を配置しようとしています
function Sort(old, new){
var temp = [];
for(var i=0; i<old.length; i++){
temp[i] = old[new[i]];
}
return temp;
}
temp[]
追加のアレイを使用せずに同じことを達成することは可能ですか?
new
まず第一に、それはおそらく変数名として避けるべきキーワードであることに注意したいと思います。
jQuerymap
を使用すると、これを実行できますが、一時変数が内部で使用される可能性は十分にあります。そのプロジェクトの良いところは、それが改善され続けることであり、その関数が現在非効率的であっても、別の方法で呼び出す必要がなく、後でより効率的になる可能性があります。
jQueryの使用に反対しない場合は、次の1つのライナーを使用します。
var oldArray = ['a', 'b', 'c', 'd'],
newOrder = [1, 3, 0, 2];
oldArray = jQuery.map(newOrder, function(val) { return oldArray[val]; });
に並べ替える必要oldArray
があり['b', 'd', 'a', 'c']
ます。oldArray
ただし、まだ新しい配列オブジェクトに置き換えています。それは本当にあなたが達成しようとしていることに依存します。一時変数を完全に回避できるとは思いませんが、単純さ、速度効率、メモリ効率など、さまざまな解決策があります。