提交 38ce9230 编写于 作者: A alejandro

utils: Fixed regression in IE/Edge with PR #11002

subsystem: utils

Fixed regression in IE 11 and Microsoft Edge browsers. It was caused due
to a poor optimization in Microsoft browsers while accessing
Array#length attribute in a for condition.
上级 b820f6a7
function arrayMin( array ) {
if ( array.length === 0 ) {
return Infinity;
}
if ( array.length === 0 ) return Infinity;
var min = array[ 0 ];
for ( var i = 1; i < array.length; ++ i ) {
for ( var i = 1, length = array.length; i < length; ++ i ) {
if ( array[ i ] < min ) {
......@@ -24,15 +20,11 @@ function arrayMin( array ) {
function arrayMax( array ) {
if ( array.length === 0 ) {
return - Infinity;
}
if ( array.length === 0 ) return - Infinity;
var max = array[ 0 ];
for ( var i = 1; i < array.length; ++ i ) {
for ( var i = 1, length = array.length; i < length; ++ i ) {
if ( array[ i ] > max ) {
......
......@@ -9,7 +9,7 @@ QUnit.test( 'arrayMax' , function( assert ) {
assert.equal( THREE.arrayMax( [] ), - Infinity );
assert.equal( THREE.arrayMax( [ 5 ] ), 5 );
assert.equal( THREE.arrayMax( [ 1, 5, 10 ] ), 10 );
assert.equal( THREE.arrayMax( [ 5, 1, 10 ] ), 10 );
assert.equal( THREE.arrayMax( [ 1, 10, 5 ] ), 10 );
assert.equal( THREE.arrayMax( [ 10, 5, 1 ] ), 10 );
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册