Boa noite! Estou testando a forma do Insertion Sort sugerida no final da atividade 04 da aula 03 que foi mudar a let atual de 0 para 1 e retirar a condição adicional do While. Porém meu código não funciona e o terminal apresenta o erro de não conseguir ler propriedades de "undefined", mas no teste de mesa a posição da array é 1-1, o que na teoria não deve dar erro... Alguém sabe o que está acontecendo?
const livros = require('./algoritmoOrdenacao2') // Só mudei o nome do arquivo.js mas ele pega a lista de livros com "titulo" e "preco"
function insertionSort (lista){
for (let atual = 1; atual < lista.length; atual ++){
let analise = atual;
while (lista[analise].preco < lista[analise-1].preco){
let itemAnalise = lista[analise];
lista[analise] = lista[analise-1]
lista[analise-1] = itemAnalise
analise--
}
}
console.log(lista);
}
insertionSort(livros)
Da forma anterior funciona sem problemas:
for (let atual = 0; atual < lista.length; atual ++){
let analise = atual;
while (analise > 0 && lista[analise].preco < lista[analise-1].preco){