要素の位置を変えずに、最小値から始まる整数の配列から要素を削除する関数を書いてみたいと思います。プログラミング言語はActionScript3です。AS3位置を変えずに配列から要素を削除
var aNumArr:Array = [0,7,2,5,9,0]
trace(RemoveMinValues(aNumArr, 1, false)) //output: 7,2,5,9,0
//trace(RemoveMinValues(aNumArr, -1, true)) //output: 0,7,2,5,9
//trace(RemoveMinValues(aNumArr, 2)) //output: 7,2,5,9
(これらは、個々のトレース文です)私はsort(Array.NUMERIC)
とsort(Array.DESCENDING)
を使用してアレイ内の最小値を削除するために管理しています。
しかし、要素を元の位置に戻す方法を理解できないようです。
これはの割り当てであるため、機能コード全体をコピーすることはできません。そして、私はあなたに正確な答えを教えてはいけないと思っていますが、むしろそれをやり遂げる方法について私に洞察を与えます。
私は十分にはっきりしていました。追加情報が必要な場合はお知らせください。
ありがとうございます。
編集:私は、私は機能上のいくつかのことを逃した実現。また、aNumArr
と希望する出力値を変更して、私が望むものをより明確にしました。
そして、ここで私が以前にやったことだった:基本的に
function RemoveMinValues(aNumArr:Array, iMinsToRemove:int):void
{
if(iMinsToRemove >= 0)
{
aNumArr.sort(Array.NUMERIC);
for(var i:int = 0; i < iMinsToRemove; ++i)
{
aNumArr.shift();
}
}
else
{
aNumArr.sort(Array.DESCENDING);
for(var i:int = 0; i > iMinsToRemove; --i)
{
aNumArr.pop();
}
}
}
aNumArr:Array
は、指定された整数の配列です。 iNumbersOfMinsToRemove:int
は削除する最小値の数です。 割当は私に返却を要求する何も。
私はArray.NUMERICとArray.DESCENDINGが要素の位置を変更することは知っていますが、その位置を保持する方法については論理を理解できないようです。可能な限り簡単に保管してください。私はまだametureです。
RemoveMinValues()の2番目の引数は何ですか? – Chris