在获得应该很容易工作的东西时遇到问题。我不断用新值更新数组,因此我需要获取最低值和最高值之间的增量或差异。数组的长度应该保持在 10 不变。问题是我的 delta 数组的只有第一个和最后一个值似乎发生了变化。我错过了什么?
虽然在 AS3 中,但在 Java 或 Javascript 中应该几乎相同
private var _deltaArray:Array= new Array();
private function update(myVal:int):void{
if (_deltaArray.length < 10) {
_deltaArray.push(myVal);
}
if (_deltaArray.length >= 10) {
_deltaArray.push(myVal);
var delta:int =getDelta(_deltaArray);
_deltaArray.shift();
}
}//end func
private function getDelta(a:Array):int {
var total:Number=0;
var L:int=a.length
if (L > 1) {
a.sort(Array.NUMERIC);
var delta:int=int(a[0]) - int(a[L - 1]);
trace('getDelta delta= ' + delta);
}
return delta;
}//end func