0
我寫的歸併排序算法,並在合併輔助函數,我有以下比較語句:JavaScript的合併/排序致命錯誤
function merge(a,b){
var result = [];
while(a.length && b.length){
result.push(a[0] < b[0] ? a.shift() : b.shift()); // you can't just grab a[0] or b[0]
//as it results in a fatal error.
}
return, etc.
}
爲什麼當,而不是「a.shift( )',我輸入了一個[0],它導致了一個致命的錯誤?是否因爲你正在做一些也在條件式子句中的事情?
猜測'a [0]'不會從'a'中刪除條目,所以最終會導致無限循環,導致'result'比想要的大。 – user3386109