Pesquisar neste blog

20/07/2020

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));






Map 03 em JavaScript

//map2 implementado nas mãos
Array.prototype.map2 = function(callback){
    const newArray = []
    for (let i = 0i < this.lengthi++) {
        newArray.push(callback(this[i], ithis))
    }
}


const carrinho = [
    '{ "nome": "Borracha", "preco": 3.45 }',
    '{ "nome": "Caderno", "preco": 13.90 }',
    '{ "nome": "Kit de Lapis", "preco": 41.22 }',
    '{ "nome": "Caneta", "preco": 7.50 }'
]
//Retornar um array apenas com os preços
const paraObjeto = json => JSON.parse(json);//converte um texto para objeto
const apenasPreco = produto => produto.preco//retorna produto.preco

const resultado = carrinho.map(paraObjeto).map(apenasPreco)
console.log(resultado);




Map 02 em JavaScript

//Desafio pegar apenas os preços do Array
const carrinho = [
    '{ "nome": "Borracha", "preco": 3.45 }',
    '{ "nome": "Caderno", "preco": 13.90 }',
    '{ "nome": "Kit de Lapis", "preco": 41.22 }',
    '{ "nome": "Caneta", "preco": 7.50 }'
]
//Retornar um array apenas com os preços
const paraObjeto = json => JSON.parse(json);//converte um texto para objeto
const apenasPreco = produto => produto.preco//retorna produto.preco

const resultado = carrinho.map(paraObjeto).map(apenasPreco)
console.log(resultado);



Map 01 em JavaScript

//gerar um array  do dobro
const num = [12345]

//for com protótipo
let resultado = num.map(function(e){
    return e * 2
})  
console.log(num);
console.log(resultado);

const soma10 = e => e + 10
const triplo = e => e * 3
//numero flutuante, 2 casas decimais, substitui . por ,
const paraDinheiro = e => `R$ ${parseFloat(e).toFixed(2).replace('.',',')}`

//forma encadeada, chama 1 map de pois outros
resultado = num.map(soma10).map(triplo).map(paraDinheiro)
console.log(resultado);




ForEach 02 em JavaScript

Array.prototype.forEach1 = function(callback){
    for(let i = 0i < this.lengthi++){//percorrendo os índices
        callback(this[i], ithis)//valor, indice, arraycompleto
    }
}

const aprovados = ['Agatha''Juliane''Ana Paula','Raquel']

aprovados.forEach1(function(nomeindice){//acessando forEach1
    console.log(`${indice + 1}${nome}`);
})





ForEach 01 em JavaScript

const aprovados = ['Agatha''Naldo''Juliane''Ana Paula','Raquel']

//método 1
aprovados.forEach(function(nomeindice){
    console.log(`${indice + 1}${nome}`);
})
console.log();//pulando 1 linha na impressão

//método 2
aprovados.forEach(nome => console.log(nome));
console.log();

//método 3
const exibirAprovados = aprovado => console.log(aprovado);
aprovados.forEach(exibirAprovados);
console.log();

//Método 4, imprimindo em ordem crescente
aprovados.sort().forEach(function(nomeindice){
    console.log(`${indice +1}${nome}`);
})


























Palavras chave:

ForEach 01 u JavaScript-u
JavaScript의 ForEach 01
ForEach 01 i JavaScript
በጃቫ ስክሪፕት ውስጥ 01 አንሸርስ
ForEach 01 ב- JavaScript
ForEach 01 JavaScript-те
JavaScript'te ForEach 01

Array com Objetos em JavaScript

const quaseArray = {0: 'Henrique'1: 'Karolayne'2: 'Bia'}
console.log(quaseArray);
Object.defineProperty(quaseArray'toString',{
    value: function (){
        return Object.value(this)//vai imprimi os valores do objeto referenciando o objeto atual
    },
    enumerable: false
})
console.log(quaseArray[0]);

const meuArray = ['Rafael''Ana''Bia']
console.log(meuArray);
console.log(meuArray.toString());









Palavras chave:

JavaScript ഒബ്‌ജക്റ്റുകൾ ഉപയോഗിച്ച് അറേ ചെയ്യുക
Matriu amb objectes JavaScript
Array with JavaScript Objects
Sed ea ordinata per JavaScript
Массив с объектами JavaScript
Масив з об’єктами JavaScript
Array med JavaScript-objekt
JavaScript 객체로 배열
Niz s JavaScript objektima

Array e métodos importantes em JavaScript

//não pode atribuir nada em pilotos por ser 1 constante
const pilotos = ['Vettel''Alonso''Mickael','Raikenen']
pilotos.pop()//desempilha ultimo elemento 'Raikenen'
console.log(pilotos);

pilotos.push('Verstappen')//adicionou(empilhou) elemento
console.log(pilotos);

pilotos.shift()//remove 1° elemento da posição
console.log(pilotos);

pilotos.unshift('Hamilton')//adc na 1° posição
console.log(pilotos);

//splice pode adicionar e remover elementos
pilotos.splice(20'Bottas''Massa')
console.log();
console.log(pilotos);
pilotos.splice(3,1)//remove 1 elemento a partir da posição 3
console.log(pilotos);
console.log();

const algunsPilotos1 = pilotos.slice(2)//novo array a partir de outro
console.log(algunsPilotos1);

const algunsPilotos2 = pilotos.splice(14)//a partir da pos 1, 4 elementos
console.log(algunsPilotos2);













Palavras chave:

Важне ЈаваСцрипт матрице и методе
מערך ושיטות JavaScript חשובים
อาร์เรย์และวิธีการที่สำคัญของ JavaScript
Ważna tablica i metody JavaScript
Važne JavaScript matrice i metode
Важные JavaScript-массив и методы
Important JavaScript Array and Methods
Маанилүү JavaScript массиви жана методдору
Matèries i mètodes de JavaScript importants

Array em JavaScript


splice, adicionar e empilhar elementos em Array no JavaScript

console.log(typeof Arraytypeof new Arraytypeof []);

let aprovados = new Array('Bia''Carlos''Ana')
console.log(aprovados);

aprovados = ['Bia''Carlos''Ana']
console.log(aprovados[0]);//posição 0
console.log(aprovados[4]);//posição não corresponde

console.log();
aprovados[3] = 'Henrique'
aprovados.push('Karolayne')//adiciona na ultima posição
console.log(aprovados);
console.log('Tamanho do array = '+aprovados.length);

console.log();
aprovados[9] = 'Rafael'
console.log(aprovados);
console.log(aprovados[8] === undefined);//posição 8 é indefinida ?

console.log();
aprovados.sort()//ordena o array por ordem alfabética
console.log(aprovados);

delete aprovados[1]
console.log(aprovados[1], aprovados);
console.log();

nomes = ['Bia''Carlos''Ana''Juliane''Kamila''Nayara''Evelyn']
nomes.splice(1,2)//exclui 2 elementos a partir do índice 1(Calos)
console.log(nomes);
//exclui 1 elementos a partir do indice 2 e adiciona os elementos 1 e 2
nomes.splice(21'Elemento1''Elemento2')
console.log(nomes);




Classes + herança em JavaScript

//Classe + herança
class Avo{//classe  avo
    constructor(sobrenome){//função construtora, parametro sobrenome
        this.sobrenome = sobrenome
    }
}

class Pai extends Avo{//Pai extende Avo, prototipo de outra classe Avo
    constructor(sobrenomeprofissao = 'Professor'){
        super(sobrenome)//chama o construtor da super classe
        this.profisscao = profissao//atribui profissão ao objeto que foi instanciado
    }
}

class Filho extends Pai{
    constructor(){
        super('Silva')//Sobrenome do Pai
    }
}

const filho = new Filho
console.log(filho);







Palavras chave:

Klassen + Vererbung in JavaScript
Классы + наследование в JavaScript
Clase + moștenire în JavaScript
คลาส + การสืบทอดใน JavaScript
שיעורים + ירושה ב- JavaScript
Класе + наслеђивање у ЈаваСцрипт-у

JSON vs Objeto em JavaScript

//JSON é um formato de dados, formato de interoterabilidade
//formato textual que carrega consigo
const obj = {a: 1b: 2c: 3
    soma(){
        return a + b + c
    }
}
console.log(JSON.stringify(obj));//passa um objeto e transforma em JSON
//console.log(JSON.parse("{a: 1', 'b: 2', 'c: 3}"));//vai dar erro, formato inválido
//console.log(JSON.parse("{'a: 1', 'b: 2', 'c: 3' }"));//vai dar erro, todos os formatos JSON deve estar habilitado com aspas duplas
console.log(JSON.parse('{ "a":1, "b":2, "c":3 }'));
console.log(JSON.parse('{"a": 1.77, "b": "string", "c": true, "d": {}, "e": [] }'));//permite arrays também









Modificações/seal em JavaScript

const produto = Object.preventExtensions({
    nome: 'Qualquer'preco: 1.99tag: 'promoção'
})
console.log('Extensível:',Object.isExtensible(produto));

produto.nome = 'Borracha'
produto.descricao = 'Borracha escolar branca'
console.log(produto);
delete produto.tag//deletanto a tag promoção
console.log(produto);

console.log();
//Object.seal (selar)
const pessoa = {nome: 'Juliana'idade: 27}
Object.seal(pessoa)//não consegue adcionar nem excluir o objeto pessoa
console.log('Selado: 'Object.isSealed(pessoa));
//tentando alterar os dados de pessoa
pessoa.sobrenome = 'Silva'//não consegue adicionar sobrenome
delete pessoa.nome
pessoa.idade = 35//consegue alterar o atributo idade
console.log(pessoa);












Palavras chave:

Modifikime / vula JavaScript
Modifiche / sigilli JavaScript
JavaScript-modifikasjoner / segl
שינויים / חותם של JavaScript
Modificări / sigilare JavaScript
JavaScript модификации / печать
JavaScript-Änderungen / Siegel

Herança 06 em JavaScript

function Aula(nomevideoID) {
    this.nome = nome
    this.videoID = videoID
}

const aula1 = new Aula('Bem vindo'123)
const aula2 = new Aula('Até Breve',456)
console.log(aula1);
console.log(aula2);

function novo(f, ...params) {
    const obj = {}
    obj.__proto__ = f.prototype
    f.apply(objparams)
    return obj
}
const aula3 = novo(Aula'Bem vindo JavaScript'123)
const aula4 = novo(Aula'Até logo'456)
console.log(aula3);
console.log(aula4);




Herança 05, String reversa em JavaScript

console.log(typeof String);
console.log(typeof Array);
console.log(typeof Object);


String.prototype.reverse = function(){
    return this.split(``).reverse().join('')
}
console.log('\n','Escola Cod5r'.reverse());//inverte as posições

Array.prototype.first = function(){
    return this[0]
}
console.log();
console.log([1,2,3,4,5].first());
console.log();

String.prototype.toString = function(){
    return 'Laisa Vasconcelos'
}

console.log('Escola Cod3r'.reverse());




Herança 04 em JavaScript


function MeuObjeto() {}
console.log(MeuObjeto.prototype);

const obj1 = new MeuObjeto
const obj2 = new MeuObjeto
console.log(obj1.__proto__ === obj2.__proto__);
console.log(MeuObjeto.prototype === obj1.__proto__);

MeuObjeto.prototype.nome = 'Anônimo'
MeuObjeto.prototype.falar = function(){
    console.log('Bom dia! Meu nome é ',this.nome);
}

obj1.falar()//imprimindo

obj2.nome = 'Henrique'
obj2.falar()

const obj3 = {}
obj3.__proto__ = MeuObjeto.prototype
obj3.nome = 'Obj3'
obj3.falar()

//
console.log((new MeuObjeto).__proto__ === MeuObjeto.prototype);
console.log(MeuObjeto.__proto__ == Function.prototype);
console.log(Function.prototype.__proto__ === Object.prototype);
console.log(Object.prototype.__proto__ == null);


Herança 03 em JavaScript

const pai = {nome: 'Pedro'corCabelo: 'Castanho'}
const filha1 = Object.create(pai)
filha1.nome = 'Ana Paula'
console.log(filha1.corCabelo);

const filha2 = Object.create(pai, {
    nome:{
        value: 'Bia',
        eritable: false
        enumerable: true
    }
})
console.log(filha2.nome,'\n');

console.log(Object.keys(filha1));//chave retorna nome
console.log(Object.keys(filha2));

for (let  key in filha2) {
    filha2.hasOwnProperty(key) ?
        console.log(key) : console.log(`Por herança: ${key}`);
}



Herança 02 em JavaScript

//Cadeia de protótipos (prototype chain)
Object.prototype.atr0 = 'Z'

const avo = {atr1: "A"}
const pai = {__proto__: avoatr2: 'B'}
const filho = {__proto__: paiatr3: 'C'}
console.log(filho.atr1);//procura no atributo atr1 o protótipo de filho
console.log(filho.atrX);//indefinido = null

console.log(filho.atr0);//procura em objeto do atributo atr0 
console.log(filho.atr0filho.atr1filho.atr2filho.atr3);
console.log(pai.atr3);//nulo

const teste = {__proto__: avoatr2:'K'atr3: 'Y'}
console.log(filho.atr0filho.atr1filho.atr2filho.atr3);

const carro = {
    velAtual: 0,
    veloMax: 200,
    aceleraMais(delta){
        if(this.velAtual + delta <= this.veloMax){
            this.velAtual += delta
        }else{
            this.velAtual = this.veloMax
        }
    },
    status(){
        return `${this.velAtual} Km/h de ${this.veloMax}`
    }
}

const ferrari = {
    modelo: 'F50',
    velMax: 324//shadowing (sombreamento)
    
}

const volvo = {
    modelo: 'V40 vue',
    status(){
        return `${this.modelo}${super.status()}`
    }
}
//1° Objeto , 2° um protótipo
Object.setPrototypeOf(ferraricarro)//ferrari tem carro como protótipo
Object.setPrototypeOf(volvocarro)

console.log(ferrari,'\n');
console.log(volvo,'\n');

volvo.aceleraMais(100)
console.log(volvo.status(),'\n');

ferrari.aceleraMais(300)
console.log(ferrari.status());








Herança 01 em JavaScript

const ferrari = {
    modelo: '40',
    velMax: 324
}

const volvo = {//objeto literal
    modelo: 'V40',
    velMax: 200
}
//indefinido, porque objeto ferrari não tem atributo prototype
console.log(ferrari.prototype);

//procura em toda cadeia de protótipo de ferrari
console.log(ferrari.__proto__);//consegue acessar quem é o prototipo de ferrari
console.log(ferrari.__proto__ === Object.prototype);//é extritamente protótipo de ferrari ?
console.log(volvo.__proto__ === Object.prototype);
console.log(Object.prototype.__proto__);//Objeto prototype tem um protótipo depois dele ?

function MeuObjeto() {}

console.log(typeof Objecttypeof MeuObjeto);
console.log(Object.prototypeMeuObjeto.prototype);












Palavras chave:

Belangrijke objectfuncties in JavaScript
Important Object Functions in JavaScript
Các hàm đối tượng quan trọng trong JavaScript
פונקציות חשובות של אובייקטים ב- JavaScript
ฟังก์ชั่นวัตถุที่สำคัญใน JavaScript
Důležité funkce objektu v JavaScriptu
Imisebenzi Ebalulekile Yento kuJavaScript
Ważne funkcje obiektu w JavaScript
በጃቫስክሪፕት ውስጥ አስፈላጊ የነገሮች ተግባራት
Fonctions d'objets importantes en JavaScript
Wichtige objektfunksjes yn JavaScript
Funksionet e rëndësishme të objektit në JavaScript