Created
September 15, 2023 01:16
-
-
Save mateusfreira/ec7887a1d1ab7ee964cddb40a3219f8f to your computer and use it in GitHub Desktop.
6th_class
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
let pao = { | |
pesoEmGramas: 30, | |
nome: "Pao", | |
codigoDeBarras: "123", | |
preco: 18.90 / (1000/30), | |
obs: "Cada pao, no peso", | |
quantidade: 5, | |
}; | |
let cerveja = { | |
nome: "Original", | |
preco: 11.00, | |
codigoDeBarras: "124", | |
obs: "Garrafa 600", | |
quantidade: 12, | |
}; | |
let carrinhoDeCompras = [pao, cerveja]; | |
let total = 0; | |
for(let i=0; i < carrinhoDeCompras.length; i++) { | |
console.log('Produto', carrinhoDeCompras[i].nome); | |
console.log('Quantidade', carrinhoDeCompras[i].quantidade); | |
console.log('Preco unidade', carrinhoDeCompras[i].preco); | |
// Preco do item | |
let precoItem = carrinhoDeCompras[i].quantidade * carrinhoDeCompras[i].preco; | |
console.log("Preco item:", precoItem) | |
total = total + carrinhoDeCompras[i].quantidade * carrinhoDeCompras[i].preco; | |
} | |
// Preco total | |
console.log("Valor total R$ : ", total); | |
// Quantidade total | |
function mostraQtdTotal(carrinhoDeCompras) { | |
let qtdTotal = 0; | |
for(let i=0; i < carrinhoDeCompras.length; i++) { | |
console.log("Estou somando a qtd do produto", carrinhoDeCompras[i].nome); | |
qtdTotal = qtdTotal + carrinhoDeCompras[i].quantidade; | |
} | |
return qtdTotal; | |
} | |
console.log(" Quantidade total item ", mostraQtdTotal(carrinhoDeCompras)); | |
// Create function to show the most expensive product in the cart | |
// Create function to show the item with most items in the cart | |
function mostraProdutoComMaiorNumero(carrinhoDeCompras) { | |
let maiorQuatidade = 0; | |
let nomeMaior = ""; | |
console.log("mostraProdutoComMaiorNumero foi chamada"); | |
for(let i = 0; i <carrinhoDeCompras.length; i++) { | |
console.log('Produto:', carrinhoDeCompras[i].nome); | |
if(carrinhoDeCompras[i].quantidade > maiorQuatidade) { | |
maiorQuatidade = carrinhoDeCompras[i].quantidade; | |
nomeMaior = carrinhoDeCompras[i].nome; | |
}// if | |
}// for | |
//console.log(maiorQuatidade, nomeMaior); | |
return { maiorQuatidade, nomeMaior }; | |
} | |
console.log("Maior quantidade",mostraProdutoComMaiorNumero(carrinhoDeCompras)); | |
// Create function to to tell the return of the payment | |
// Create function to add items to the carrinhoDeCompras. | |
function adiciona(carrinhoDeCompras, nome, codigoDeBarras, quantidade, preco, gramas) { | |
let novoProduto = { nome, codigoDeBarras, quantidade, preco, gramas }; | |
carrinhoDeCompras[carrinhoDeCompras.length] = novoProduto; | |
} | |
adiciona(carrinhoDeCompras, "Sonho", "23213", 1, 1.50, 200); | |
adiciona(carrinhoDeCompras, "Misto", "23234", 123, 5.50, 350); | |
console.log(carrinhoDeCompras); | |
console.log("Quantidade total final:", mostraQtdTotal(carrinhoDeCompras)); | |
//Create function to remove items from the carrinhoDeCompras. | |
function removeItem(carrinhoDeCompras, codigoDeBarras) { | |
let novoCarrinhoDeComprar = []; | |
console.log({novoCarrinhoDeComprar, carrinhoDeCompras, codigoDeBarras}) | |
for(let i=0; i< carrinhoDeCompras.length; i++ ){ | |
if(carrinhoDeCompras[i].codigoDeBarras == codigoDeBarras) { | |
console.log('Ignorando', carrinhoDeCompras[i]); | |
} else { | |
//novoCarrinhoDeComprar[i] = carrinhoDeCompras[i]; | |
adiciona(novoCarrinhoDeComprar, carrinhoDeCompras[i].nome, carrinhoDeCompras[i].codigoDeBarras, carrinhoDeCompras[i].quantidade, carrinhoDeCompras[i].preco, carrinhoDeCompras[i].gramas); | |
} | |
} | |
return novoCarrinhoDeComprar; | |
} | |
function removeItemLessMemory(carrinhoDeCompras, codigoDeBarras) { | |
let found = false; | |
for(let i=0; i < carrinhoDeCompras.length; i++) { | |
if(carrinhoDeCompras[i].codigoDeBarras == codigoDeBarras) { | |
console.log('Ignorando', carrinhoDeCompras[i]); | |
found = true; | |
} | |
if(found) { | |
carrinhoDeCompras[i] = carrinhoDeCompras[i + 1]; | |
} | |
console.log(carrinhoDeCompras[i], i, found); | |
} | |
carrinhoDeCompras.length = carrinhoDeCompras.length - 1; | |
return carrinhoDeCompras; | |
} | |
function update(carrinhoDeCompras, codigoDeBarras, nome, quantidade, preco, gramas){ | |
console.log(nome, codigoDeBarras); | |
for(let i=0; i < carrinhoDeCompras.length; i++) { | |
if(carrinhoDeCompras[i].codigoDeBarras == codigoDeBarras) { | |
carrinhoDeCompras[i].nome = nome; | |
carrinhoDeCompras[i].quantidade = quantidade; | |
carrinhoDeCompras[i].codigoDeBarras = codigoDeBarras; | |
carrinhoDeCompras[i].preco = preco; | |
carrinhoDeCompras[i].gramas = gramas; | |
} | |
} | |
return carrinhoDeCompras; | |
} | |
carrinhoDeCompras = removeItem(carrinhoDeCompras, '123'); | |
carrinhoDeCompras = update(carrinhoDeCompras, '124', 'Cerveja Original', 12, 12.50, 600); | |
//carrinhoDeCompras = removeItemLessMemory(carrinhoDeCompras, '124'); | |
console.log('Carrinho de compras final', carrinhoDeCompras); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
//https://gist.github.com/mateusfreira | |
function insertSort(numeros, numero) { | |
for(let i=0; i < numeros.length; i++) { | |
if(numeros[i] > numero) { | |
let tmp = numeros[i]; | |
numeros[i] = numero; | |
numero = tmp; | |
} | |
} | |
numeros[numeros.length] = numero; | |
} | |
let init = []; | |
insertSort(init, 2); | |
insertSort(init, 0); | |
insertSort(init, 3) | |
insertSort(init, -1); | |
console.log({ init, desejo: [-1, 0, 2, 3] }); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment