私はjsを初めて使い、apply
がここでどのように使用されているかを理解しようとしています(遅くともapply
を理解しようと苦労しています)。しかし、私の問題は二重です。私はmergesortの概要を理解していますが、最後のブロックで何が起こっているのか分かりません。merchortを理解するのに役立つことがあります。
function mergeSort(items){
if (items.length < 2) {
return items;
}
var middle = Math.floor(items.length/2),
left = items.slice(0, middle),
right = items.slice(middle),
params = merge(mergeSort(left), mergeSort(right));
// Add the arguments to replace everything between 0 and last item in the array
params.unshift(0, items.length);
items.splice.apply(items, params);
return items;
}
ここで 'merge'はありますか?それが吐き出すものを見ることなく、説明するのは難しいです。それはスプライスシグ、間違いなく、どのように? – dandavis