0

次のコードが Safari/Javascript と Illustrator/ExtendScript で異なる結果を返す理由を誰か説明できますか?

私のテストでは、これのブラウザー バージョンは期待どおりに動作するようです。イラストレーターはあまり。これは本物のバグですか?それとも、ExtendScript (Creative Suite アプリ用の Adob​​e の Javascript 実装) と apply メソッドの問題ですか?

function testMinMax(){
    var testArray = [2,1,7,3,6,7,8,23,45,26,13,9];

    function getMinOfArray(numArray) {
      return Math.min.apply(Math, numArray);    
    }

    function getMaxOfArray(numArray) {
      return Math.max.apply(Math, numArray);
    }

    alert ("min [" + getMinOfArray(testArray) + "] of " + testArray);
    alert ("max [" + getMaxOfArray(testArray) + "] of " + testArray);

    // Expected Values:
    // min [1] of 2,1,7,3,6,7,8,23,45,26,13,9
    // max [45] of 2,1,7,3,6,7,8,23,45,26,13,9

    // Illustrator Scripting returns the following values
    // min [1] of 2,1,7,3,6,7,8,23,45,26,13,9
    // max [9] of 2,1,7,3,6,7,8,23,45,26,13,9   
}

// Call the test case
testMinMax();
4

1 に答える 1

1

同様の問題がありました。あなたの投稿(私が見つけた唯一のもの)を見た後、私はこの回避策を考え出さなければなりませんでした。

var varSourceArray=[varSource_R, varSource_G, varSource_B]
varSourceArray.sort()

varSource_Min = varSourceArray[0];
varSource_Max = varSourceArray[2];
于 2011-12-21T22:14:02.573 に答える