Eu sempre tento fazer o código antes de ver o código da aula e cheguei a um resultado um pouco diferente dessa vez ( sem o uso do while):
const { edFolha, edGalho} = require('./arrays')
function blendArrays(list1, list2) {
const newList = []
const newListLength = list1.length + list2.length
let l1Index = 0
let l2Index = 0
for (let i = 0; i < newListLength; i++) {
// Se a lista 1 ainda tiver elementos
if(l1Index < list1.length) {
// Caso lista 2 não tenha mais elementos
if(l2Index === list2.length) {
newList[i] = list1[l1Index];
l1Index++
} // Caso as duas listas tenham elementos e o menor for o da lista 1
else if(list1[l1Index].preco < list2[l2Index].preco) {
newList[i] = list1[l1Index];
l1Index++
} // Senão é escolhido o elemento da lista 2
else {
newList[i] = list2[l2Index];
l2Index++
}
}
// Caso lista 1 não tenha mais elementos
else {
newList[i] = list2[l2Index];
l2Index++
}
}
return newList
}
console.table(blendArrays(edFolha, edGalho))