Skip to content

Instantly share code, notes, and snippets.

@mateusfreira
Created September 15, 2023 01:16
Show Gist options
  • Save mateusfreira/ec7887a1d1ab7ee964cddb40a3219f8f to your computer and use it in GitHub Desktop.
Save mateusfreira/ec7887a1d1ab7ee964cddb40a3219f8f to your computer and use it in GitHub Desktop.
6th_class
<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>
<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