nodeでCoffeeScriptをコンパイルします。スクリプトには、配列をクリアする関数があります。空の配列を console.log したい。3 つのブロック ログの違いがわかりません。
clearArray = (arr) ->
arr.splice 0 , arr.length
#Block 1
arr = [1,2]
clearArray arr
console.log arr
#Block 2
array = [1,2]
console.log clearArray array
#Block 3
console.log clearArray [1,2]
#Block 1 logs: []
#Block 2 & 3 log: [ 1, 2 ]
私の理解では、clearArray は arr.splice() の結果を返すため、すべてのブロックは "[ ]" をログに記録し、空の配列を返す必要があります。#Block2 &3 はスプライス関数を実行していないようです?! どんな助けでも大歓迎です。