Pesquisar neste blog

26/07/2020

Revisão 03 em JavaScript

//ESB: Object.values/Object.entries
const obj = {a: 1b: 2c: 3}
console.log(Object.values(obj));
console.log(Object.keys(obj));
console.log(obj);
console.log(Object.keys(obj).entries(obj));
console.log(Object.entries(obj));//1 array de arrays com chave e valor

//Melhorias na Notação Literal
const nome = 'Carla'
const pessoa = {
    nome
    ola(){
        return 'Bem vindo ao JavaScript !'
    }
}
console.log(pessoa.nome' : ',pessoa.ola());

//Class
class Avo{}
class Pai extends Avo{
    falar(){
        return 'Olá eu sou herança !'
    }
}
console.log(new Cachorro().falar());


Revisão 02 em JavaScript

const { isNull } = require("lodash");

//Arrow Function
const soma = (ab=> a + b//retorna a + b
console.log(soma,'Soma = ',soma(57));

//Arrow Function(this)
//this esta associado ao local onde a função foi escrita
const lexico1 = () => console.log(this === exports);//this sempre apontará para exports
const lexico2 = lexico1.bind({})//forçando 1 barra, mas não irá funcionar
lexico1()
lexico2()

//parametro default
function log(texto = 'Node') {
    console.log(texto);
}

log();
log('Olá ! Bem Vindo ao JavaScript. ');
log(null);
log(isNull)

//Operador rest
function total(...numeros) {
    let total = 0
    numeros.forEach(n => total += n);
    return total
}

console.log('Total = '+total(2345));


Revisão 01 em JavaScript

{
    var a = 2
    let = 3
}
console.log(a);
//console.log(b);//não consegue acessar por estar reservada

//Template String
const produto = 'iPad'
console.log(`${produto} é muito caro !`);

//Destructuring
const [lek, ...tras] = "BLOG engenhariaCotidiana"
console.log(lek);
console.log(tras,'\n');

const[x, , y] = [1,23]
console.log(x,y);

//Desestruturar usa chaves
const {idadeinome} = {nome: 'Ana'idade: 9}
console.log(inome);




24/07/2020

Exercício Série de Fourier em Tempo Discreto

2) Use a Equação de análise para calcular os valores numéricos de um período dos coeficientes da série de Fourier do sinal periódico 







Resolução:



















3) Seja x[n] um sinal periódico real e ímpar com período N = 7 e coeficientes de Fourier ak . Dado que
a15 = j, a16 = 2j, a17 = 3j , determine os valores de a0 , a–1 , a–2 e a–3 .

Resolução:




23/07/2020

Middlewares 01 em JavaScript


const passo1 = (ctxnext=>{
    ctx.valor1 = 'mid1'//adc dentro desse objeto
    next()
}

const passo2 = (ctxnext=>{
    ctx.valor2 = 'mid2'
    next()
}

const passo3 = ctx => ctx.valor3 = 'mid3'

const exec = (ctx, ...middlewares=>{
    const execPasso = indice =>{//executa o índice 
//se middlwares == true e índice middlw menor que o comprimento passado
        middlewares && indice < middlewares.length &&
            middlewares[indice](ctx, () => execPasso(indice +1))
    }
    execPasso(0)//dispara a execução
}

//vai juntar em 1 array
const ctx = {}
exec(ctxpasso1passo2passo3)//forma interativa
console.log(ctx);

//não executa porque o passo passo3 não chama os outros
exec(ctxpasso3passo2passo1)







Palavras chave:

JavaScript Middlewares 01
Прамежкавы JavaScript JavaScript 01
JavaScript Middlewares 01
JavaScriptミドルウェア01
JavaScript Middlewares 01

Sinais periódicos em Série de Fourier

3.2)  Um sinais periódico de tempo discreto x[n] tem valor real e período fundamental N = 5. Os coeficientes da série de Fourier diferentes de zero de x[n] são:





Expresse x[n] na forma:






Resolução 1:

22/07/2020

Escrevendo em arquivo com JavaScript

const fs = require('fs')

const produto = {
    nome: 'Celular',
    preco: 1249.99,
    desconto: 0.15
}

fs.writeFile(__dirname + '/arquivoGerado.json'JSON.stringify(produto), err => {
    console.log(err || 'Arquivo salvo!')
})







é gerado o arquivo: arquivoGerado.json com os dados de produto

Lendo arquivo json em JavaScript

Arquivo: arquivo.json

{
    "db": {
        "host""localhost",
        "port"5432,
        "user""usuario",
        "pass""123456"
    }
}

Arquivo: ArquivoLeitura.js

const fs = require('fs')

const caminho = __dirname + '/arquivo.json'//nome do arquivo

// sincrono...
const conteudo = fs.readFileSync(caminho'utf-8')
console.log(conteudo)
console.log();//pula 1 linha

// assincrono...
fs.readFile(caminho'utf-8', (err, conteudo=> {
    const config = JSON.parse(conteudo)
    console.log(`${config.db.host} : ${config.db.port}`)
})

const config = require('./arquivo.json')
console.log(config.db)
console.log();//pula 1 linha

fs.readdir(__dirname, (err, arquivos=> {
    console.log('Conteúdo da pasta...')
    console.log(arquivos)
})


























Palavras chave

קורא קובץ json ב- JavaScript
Читање датотека json во JavaScript
JavaScriptでのJSONファイルの読み取り
Čtení souboru json v JavaScriptu
Чтение файла JSON в JavaScript
Läser json-fil i JavaScript
Чытанне файла json на JavaScript
Reading json file in JavaScript

21/07/2020

Passando parâmetros com node em JavaScript

Arquivo: PassandoParametro.js

module.exports = function(...nomes){
    return nomes.map(nome => `Boa semana ${nome} !`)
}


Arquivo: PassandoCliente.js
//Exportando para uma função e adicionando
const saudacoes = require('./PassandoParametro')('Ana''Lucas''Karolayne')
console.log(saudacoes);



This em JavaScript

console.log(this === global);
console.log(this === module);
console.log(this === module.exports);
console.log(this === exports);//fora de 1 função o this aponta para exports

function logThis() {
    console.log('Dentro de uma uma função ...');
    //this não aponta para exports
    console.log(this === exports);//this é extritamente igual a exports ?
    console.log(this === module.exports);//this é extri... 
    console.log(this === global);
    console.log(this == global);
}
logThis()


Objeto global com node em JavaScript

Arquivo: Global.js

//console.log();
global.MinhaApp1 = {
    saudacao(){
        return 'Estou em todos lugares !'
    },
    nome'Sistema Legal'
}

global.MinhaApp2 = Object.freeze[{//Objeto está congelado
    saudacao2() {
        return 'Estou congelado !'
    },
    nome2"Sistema congelado em JavaScript !"
}]

Arquivo: GlobalCliente.js

require('./Global')
console.log(MinhaApp1.saudacao());

//Método 2
MinhaApp1.nome = 'Letícia'
console.log(MinhaApp1.nome);

//acessar objeto congelado, forma errada de acessar
//MinhaApp2.nome2 = 'Camila'//Erro: está congelado
//console.log(MinhaApp2.nome2); Erro








Palavras chave:

Globales Objekt mit Knoten in JavaScript
JavaScriptのノードを持つグローバルオブジェクト
გლობალური ობიექტი კვანძით JavaScript- ში
జావాస్క్రిప్ట్‌లో నోడ్‌తో గ్లోబల్ ఆబ్జెక్ట్
อ็อบเจ็กต์โกลบอลที่มีโหนดใน JavaScript
Ughjettu globale cù node in JavaScript
JavaScript-тегі түйінді жаһандық нысан
Globalt objekt med knude i JavaScript

Módulo exports em JavaScript

Arquivo: Arquivo1.js

console.log(module.exports);
console.log(module.exports === this);//está exportando ?
console.log(module.exports === exports);

this.a = 1
exports.b = 2
module.exports.c = 3

exports = null
console.log(module.exports);

exports = {
    nome'Bem vindo ao JavaScript',
}

console.log(module.exports);

module.exports = {
    publico: true
}


Arquivo: exportar.js
const exportar = require('./Arquivo1')//importando arquivo
console.log(exportar);











Palavras chave:

Mòdul d'exportacions de JavaScript
מודול יצוא JavaScript
Modulo di esportazione JavaScript
โมดูลส่งออก JavaScript
ജാവാസ്ക്രിപ്റ്റ് എക്‌സ്‌പോർട്ട് മൊഡ്യൂൾ
Module d'exportations JavaScript
Mòdul d'exportacions de JavaScript
JavaScript ექსპორტის მოდული
JavaScriptエクスポートモジュール
JavaScript-Exportmodul

20/07/2020

Modulo em JavaScript

Arquivo: ModuloA.js
//Exportar algo para ser usando em outro
this.ola = 'Olá Mundo !'
exports.bemVindo = 'Bem vindo em JavaScript !'
module.exports.ateLogo = 'Até ao próximo exemplo !'

Arquivo: ModuloB.js
module.exports = { //forma de exportação
    bomDia'Estou no MóduloB, Bom dia',
    boaNoite(){
        return 'Estou no MóduloB, na função boaNoite()'
    }
}

Arquivo: ModuloCliente.js
const moduloA = require('./ModuloA')
const moduloB = require('./ModuloB')

console.log(moduloA.ola);
console.log(moduloA.bemVindo);
console.log(moduloA.ateLogo);

console.log();
console.log(moduloB.bomDia);
console.log(moduloB.boaNoite());
console.log(moduloB);











Palavras chave:

JavaScript模塊
Модуль JavaScript
Modul JavaScript
JavaScript модулу
ЈаваСцрипт модул
وحدة JavaScript
JavaScriptモジュール
JavaScript-module
מודול JavaScript
Mòdul JavaScript

FlatMap em JavaScript

const escola = [{
    nome'Turma M1',
    alunos: [{
        nome'Gustavo',
        nota8.1
    },{
        nome'Ana',
        nota9.3
    }]
},{
    nome'Turma M2',
    alunos: [{
        nome'Rebeca',
        nota8.9
    },{
        nome'Roberto',
        nota7.5
    }]
}]

const getNotaDoAluno = aluno => aluno.nota
const getNotasDaTurma = turma => turma.alunos.map(getNotaDoAluno)

//extrai nota da turma
const notas1 = escola.map(getNotasDaTurma)

console.log(notas1);
console.log([].concat([8.19.3], [8.97.5]));

const notas2 = escola.flatMap(getNotasDaTurma);
console.log(notas2);







Concat em JavaScript

//Concat: Concatena vários arrays
const filhas = ['Daleska''Cibalena']
const filhos = ['Jairo''Gabriel']
const todos = filhas.concat(filhos)
console.log(todos);
const todos1 = filhas.concat(filhos'Henrique')
console.log(todos1);

console.log(todos, filhas, filhos);

console.log(['a''b'].concat([1,2], [3,4], 5, [[6,7]]));




Imperativo Vs Declarativo em JavaScript

const alunos = [
    {nome'João'nota7.3},
    {nome'Maria'nota9.2},
    {nome'Pedro'nota9.8},
    {nome'Gabriele'nota8.7}
]

//Imperativo
let total1 = 0
for(let i = 0; i < alunos.length; i++){
    total1 += alunos[i].nota
}
console.log(total1 / alunos.length);

//declarativo
const getNota = aluno => aluno.nota
const soma = (total, atual=> total + atual

const total2 = alunos.map(getNota).reduce(soma)
console.log(total2 / alunos.length);








Palavras chave:

JavaScript'te Zorunlu ve Beyan
Императивті Vs декларативті JavaScript
Imperatief vs verklarend in JavaScript
JavaScript에서 명령형 대 선언
Imperative Vs Deklaratywny w JavaScript
Privaloma Vs deklaracija „JavaScript“
הצהרת נגד ציווי ב- JavaScript
Імператив Vs Декларація у JavaScript
JavaScript дахь Imperative Vs тунхаглал

Reduce 03 em JavaScript

Reduce de forma manual em JavaScript


//Reduce de forma manual
Array.prototype.reduce2 = function(callback){
    let acumulador = this[0]
    const indiceInicial = valorInicial ? 0 : 1//se tiver setado será 0
    for(let i = 1; i < this.length; i++){
        //atribui no acumulador, o resultado do acumulador passa para acu
        acumulador = callback(acumulador, this[i], i, this)
    }
    return acumulador
}

const soma = (total, valor=> total + valor
const nums = [1,2,3,4,5,6]
console.log(nums.reduce(soma15));//soma 15 + nums
console.log(nums.reduce(soma));



Reduce 02 em JavaScript

//Desafio: Verificar se todos os alunos são bolsistas

const alunos = [
    {nome'João'nota7.3bolsista: false},
    {nome'Maria'nota9.2bolsista: true},
    {nome'Pedro'nota9.8bolsista: false},
    {nome'Gabriele'nota8.7bolsista: true}
]
console.log(alunos);
//todos os alunos são bolsistas
const todosBolsistas = (resultado, bolsista=> resultado && bolsista
console.log(alunos.map(a => a.bolsista));
console.log(alunos.map(a => a.bolsista).reduce(todosBolsistas));

//Algum aluno é bolsista
const algumBolsista = (resultado, bolsista=> resultado || bolsista
console.log(alunos.map(a => a.bolsista).reduce(algumBolsista));





Reduce 01 em JavaScript

const alunos = [
    {nome: 'João'nota: 7.3bolsista: false},
    {nome: 'Maria'nota: 9.2bolsista: true},
    {nome: 'Pedro'nota: 9.8bolsista: false},
    {nome: 'Gabriele'nota: 8.7bolsista: true}
]
//extrai de alunos apenas nota, retorna a.nota implicito, 
const resultado = alunos.map(a => a.nota).reduce(function(acumuladoratual){
    console.log(acumulador'\t',atual);
    return acumulador + atual//soma todas as notas
})//},10) caso queira iniciar com 10
console.log('Resultado = '+resultado);


19/07/2020

Filter 02 em JavaScript


Filter: É um método de filtrar um Array
Exemplo: 
  • filtrar um Array com pessoas em débito em 1 empresa, funcionário, etc
  • filtrar um Array para procurar valores
//Método de filtragem manual, versão simples
Array.prototype.filter2 = function(callback) {
    const newArray = []
    for (let i = 0i < this.lengthi++) {//passando os elementos
        //se for verdadeiro, adiciona
        if(callback(this[i], ithis)) {//passa o indice, , array
            newArray.push(this[i])//
        }
    }
    return newArray
}

const produtos = [
    { nome: 'Notebook'preco: 2499fragil: true },
    { nome: 'iPad Pro'preco: 4199fragil: true },
    { nome: 'Copo de Vidro'preco: 12.49fragil: true },
    { nome: 'Copo de Plástico'preco: 18.99fragil: false }
]

const caro = produto => produto.preco >= 500
const fragil = produto => produto.fragil

console.log(produtos.filter2(caro).filter2(fragil))






Filter 01 em JavaScript


Filter: É um método de filtrar um Array
Exemplo: 
  • filtrar um Array com pessoas em débito em 1 empresa, funcionário, etc
  • filtrar um Array para procurar valores 
const produtos = [
    {nome: 'Notebook'preco: 2499fragil: true},//1° elemento
    {nome: 'iPad'preco: 4250fragil: true},
    {nome: 'Copo de Vidro'preco: 12.49fragil: true},
    {nome: 'Copo de Plástico'preco: 18.99fragil: false}
]

console.log(produtos.filter(function(p){
    return true//filtra tudo, não fez exceção de nada
}));
console.log();

console.log(produtos.filter(function(p){
    return p.preco > 2400//retorna todos elemento do array maior que 2400
}));
console.log();

console.log(produtos.filter(function(p){
    return false//filtra nada
}));
console.log();

const caro = produto => produto.preco >= 500
const fragil = produto => produto.fragil
console.log(produtos.filter(caro).filter(fragil));