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