Ad
Code
Diff
  • function a() {
      return Promise.resolve('ok');
      //return 'ok';
    }
    
    async function b() {
      try {
        const res = await a();
        console.log(res);
        
        return res;
      } catch(err) {
        console.error(err);
      }
    }
    
    • function a() {
    • return new Promise(function (resolve, reject) {
    • resolve('ok');
    • });
    • return Promise.resolve('ok');
    • //return 'ok';
    • }
    • function b() {
    • a().then(function(res) {
    • async function b() {
    • try {
    • const res = await a();
    • console.log(res);
    • }).catch(function(err) {
    • console.log(err);
    • })
    • }
    • return res;
    • } catch(err) {
    • console.error(err);
    • }
    • }
Code
Diff
  • function monteCarlo() {
      return new Promise(function (resolve, reject) {
        reject({server: 'down'});
      });
    }
    
    async function main() {
    
      // converter para ES6
      try {
        const results = await monteCarlo();
      } catch(e) {
        console.error(e);
      }
      
      return true;
    }
    • function monteCarlo() {
    • return new Promise(function (resolve, reject) {
    • reject({server: 'down'});
    • });
    • }
    • async function main() {
    • // converter para ES6
    • const results = await monteCarlo();
    • try {
    • const results = await monteCarlo();
    • } catch(e) {
    • console.error(e);
    • }
    • return true;
    • }
Code
Diff
  • function monteCarlo() {
      return new Promise(function (resolve, reject) {
        resolve([{
          titulo: 'UOL - O Melhor conteúdo'
        }]);
      });
    }
    
    async function main() {
    
      // converter para ES6
      const response = await monteCarlo()
      console.log(response)
      
      return true;
    }
    • function monteCarlo() {
    • return new Promise(function (resolve, reject) {
    • resolve([{
    • titulo: 'UOL - O Melhor conteúdo'
    • }]);
    • });
    • }
    • async function main() {
    • // converter para ES6
    • monteCarlo().then(function(response) {
    • console.log(response)
    • });
    • const response = await monteCarlo()
    • console.log(response)
    • return true;
    • }
Code
Diff
  • const main = () => {
      
      let links = [
        'https://www.uol',
        'https://www.bol.com.br',
        'https://www.uol',
        'https://noticias.uol.com.br',
        'https://www.bol.com.br',
      ];
      
      return new Set(links);
    };
    • const main = () => {
    • let links = [
    • 'https://www.uol',
    • 'https://www.bol.com.br',
    • 'https://www.uol',
    • 'https://noticias.uol.com.br',
    • 'https://www.bol.com.br',
    • ];
    • // converter para ES6
    • var uniqueLinks = links.reduce(function (carry, item) {
    • if (carry.indexOf(item) === -1) {
    • carry.push(item);
    • }
    • return carry;
    • }, []);
    • return uniqueLinks.length;
    • return new Set(links);
    • };
Code
Diff
  • // 1 - Encontre  um número maior que 6
    var arr = [1, 4, 6, 8, 10];
    var resp = null;
    for (var i = 0; i < arr.length; ++i) {
    	if (arr[i] > 6) {
    		resp = arr[i];
    		break;
    	}
    }
    
    arr.find(v => v > 6);
    
    // 2 - Encontre o índice de um número maior que 6
    var arr = [1, 4, 6, 8, 10];
    var resp = null;
    for (var i = 0; i < arr.length; ++i) {
    	if (arr[i] > 6) {
    		resp = i;
    		break;
    	}
    }
    
    arr.findIndex(v => v > 6);
    
    
    // 3 - Encontre os numeros maiores que 6
    var arr = [1, 4, 6, 8, 10];
    var resp = arr.reduce((carry, item) => {
      if (item > 6)
        carry.push(item);
      return carry;
    }, []);
    
    arr.filter(v => v > 6);
    
    // 4 - O array contém o número 6?
    var arr = [1, 4, 6, 8, 10];
    var resp = arr.indexOf(6) > -1;
    
    arr.includes(6)
    
    
    
    // 5 - Todos os números do array são números pares?
    var arr = [2, 4, 6, 8, 9];
    var resp = true;
    for (var i = 0; i < arr.length; ++i) {
      if (arr[i] % 2 !== 0) {
        resp = false;
        break;
      }
    }
    
    arr.every(v => v % 2 === 0)
    
    // 6 - Algum número no array é impar?
    var arr = [2, 4, 0, -2];
    var resp = arr.reduce(function (carry, item) {
      return carry || (item % 2 !== 0);
    }, false);
    
    arr.some(v => v % 2 !== 0)
    
    • // 1 - Encontre um número maior que 6
    • var arr = [1, 4, 6, 8, 10];
    • var resp = null;
    • for (var i = 0; i < arr.length; ++i) {
    • if (arr[i] > 6) {
    • resp = arr[i];
    • break;
    • }
    • }
    • arr.find(v => v > 6);
    • // 2 - Encontre o índice de um número maior que 6
    • var arr = [1, 4, 6, 8, 10];
    • var resp = null;
    • for (var i = 0; i < arr.length; ++i) {
    • if (arr[i] > 6) {
    • resp = i;
    • break;
    • }
    • }
    • arr.findIndex(v => v > 6);
    • // 3 - Encontre os numeros maiores que 6
    • var arr = [1, 4, 6, 8, 10];
    • var resp = arr.reduce((carry, item) => {
    • if (item > 6)
    • carry.push(item);
    • return carry;
    • }, []);
    • arr.filter(v => v > 6);
    • // 4 - O array contém o número 6?
    • var arr = [1, 4, 6, 8, 10];
    • var resp = arr.indexOf(6) > -1;
    • arr.includes(6)
    • // 5 - Todos os números do array são números pares?
    • var arr = [2, 4, 6, 8, 9];
    • var resp = true;
    • for (var i = 0; i < arr.length; ++i) {
    • if (arr[i] % 2 !== 0) {
    • resp = false;
    • break;
    • }
    • }
    • arr.every(v => v % 2 === 0)
    • // 6 - Algum número no array é impar?
    • var arr = [2, 4, 0, -2];
    • var resp = arr.reduce(function (carry, item) {
    • return carry || (item % 2 !== 0);
    • }, false);
    • }, false);
    • arr.some(v => v % 2 !== 0)
Code
Diff
  • const main = () => {
    
      let a = [1, 2, 3];
      
      let b = [4, 5, 6];
      
      let c = [7, 8, 9];
    
      return [...a, ...b, ...c].join(',');
    }
    • const main = () => {
    • let a = [1, 2, 3];
    • let b = [4, 5, 6];
    • let c = [7, 8, 9];
    • // converter para ES6
    • var d = a.concat(b).concat(c);
    • return d.join(',');
    • return [...a, ...b, ...c].join(',');
    • }
Code
Diff
  • function a() {
      "Atualizar o array com o dobro de seus valores"
      
      let a = [1, 2, 3, 4];
      
      a.forEach((item, index) => {
        a[index] = item * 2;
      });
      
      // responda: for, forEach, map ou reduce
      return 'map';
    }
    
    function b() {
      "Em uma nova variável atribuir a soma dos valores do array"
      
      let a = [4, 10, 23, 99];
      let r = 0;
      
      a.map(item => {
        r += item;
      });
      
      // responda: for, forEach, map ou reduce
      return 'reduce';
    }
    
    function c() {
      "Em um novo array o quadrado dos itens de A"
      
      let a = [4, 8, 16];
      let r = a.map(item => Math.pow(item, 2));
      
      // responda: for, forEach, map ou reduce
      return 'map';
    }
    
    function d() {
      "Encontrar no array um item que seja maior ou igual a 2"
      
      let a = [1, 2, 3, 4];
      let resp = null;
      
      a.forEach((item, index) => {
        if (item >= 2) {
          resp = item;
          break;
        }
      });
      
      // responda: for, forEach, map ou reduce
      return 'for';
    }
    
    function e() {
      "Um novo array com valores únicos de A"
      
      let a = [1, 2, 2, 3, 4];
      let b = [];
      
      for (const item of a) {
        if (!b.includes(item))
          b.push(b);
      }
      
      // responda: for, forEach, map ou reduce
      return 'for';
    }
    
    function f() {
      "Novo array com itens de índice par"
      
      let a = ['a', 'b', 'c', 'd'];
      let b = [];
      
      a.map((item, index) => {
        if (index % 2 == 0) {
          b.push(item);
        }
      });
      
      // responda: for, forEach, map ou reduce
      return 'forEach';
    }
    
    function g() {
      "Executar chamadas http de forma assíncrona"
      
      let a = ['/p=1', '/p=2', '/p=3'];
      
      for (let path of a) {
        let xhr = new function() {};
        // ...
      }
      
      // responda: for, forEach, map ou reduce
      return 'for';
    }
    
    function h() {
      "Novo array com apenas titulo e descrição de uma resposta no Monte Carlo"
      
      let results = [{titulo: '..', descricao: '', tags: [], photo: '...'}];
      
      let resp = results.map(({titulo, descricao}) => ({titulo, descricao}));
      
      // responda: for, forEach, map ou reduce
      return 'map';
    }
    
    function i() {
      "Descompactar a matriz em uma lista"
      
      let a = [[1, 2], [4, 5], [4, 5]];
      let resp = a.reduce((carry, row) => ([...carry, ...row]), []);
      
      // responda: for, forEach, map ou reduce
      return 'map';
    }
    
    function j() {
      "Multiplicar matrizes"
      
      let a = [1, 2, 3];
      let b = [4, 5, 6];
      
      let resp = a.reduce((carry, v, i) => carry + v * b[i], 0);
      
      // responda: for, forEach, map ou reduce
      return 'reduce';
    }
    
    function k() {
      "Transformar as letras em maiúsculas"
      
      let a = ['Fred', 'John', 'Paul'];
      
      for (const [index, value] of a.entries()) {
        a[index] = value.toUpperCase();
      }
      
      // responda: for, forEach, map ou reduce
      return 'map';
    }
    
    function l() {
      "Exibir no console as chaves e os valores"
      
      let config = {portal: 'UOL', channel: 'Notícias', slug: 'uol'};
      
      for (const prop in config) {
        console.log(prop, config[prop]);
      }
      
      // responda: for, forEach, map ou reduce
      return 'for';
    }
    
    function m() {
      "Exibir no console os itens do array"
      
      let tags = ['São Paulo', 'Sudeste', 'Brasil'];
    
      for (const k in tags) {
        console.log(tags[k]);
      }
      
      // responda: for, forEach, map ou reduce
      return 'for';
    }
    • function a() {
    • "Atualizar o array com o dobro de seus valores"
    • let a = [1, 2, 3, 4];
    • a.forEach((item, index) => {
    • a[index] = item * 2;
    • });
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'map';
    • }
    • function b() {
    • "Em uma nova variável atribuir a soma dos valores do array"
    • let a = [4, 10, 23, 99];
    • let r = 0;
    • a.map(item => {
    • r += item;
    • });
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'reduce';
    • }
    • function c() {
    • "Em um novo array o quadrado dos itens de A"
    • let a = [4, 8, 16];
    • let r = a.map(item => Math.pow(item, 2));
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'map';
    • }
    • function d() {
    • "Encontrar no array um item que seja maior ou igual a 2"
    • let a = [1, 2, 3, 4];
    • let resp = null;
    • a.forEach((item, index) => {
    • if (item >= 2) {
    • resp = item;
    • break;
    • }
    • });
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'for';
    • }
    • function e() {
    • "Um novo array com valores únicos de A"
    • let a = [1, 2, 2, 3, 4];
    • let b = [];
    • for (const item of a) {
    • if (!b.includes(item))
    • b.push(b);
    • }
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'for';
    • }
    • function f() {
    • "Novo array com itens de índice par"
    • let a = ['a', 'b', 'c', 'd'];
    • let b = [];
    • a.map((item, index) => {
    • if (index % 2 == 0) {
    • b.push(item);
    • }
    • });
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'forEach';
    • }
    • function g() {
    • "Executar chamadas http de forma assíncrona"
    • let a = ['/p=1', '/p=2', '/p=3'];
    • for (let path of a) {
    • let xhr = new function() {};
    • // ...
    • }
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'for';
    • }
    • function h() {
    • "Novo array com apenas titulo e descrição de uma resposta no Monte Carlo"
    • let results = [{titulo: '..', descricao: '', tags: [], photo: '...'}];
    • let resp = results.map(({titulo, descricao}) => ({titulo, descricao}));
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'map';
    • }
    • function i() {
    • "Descompactar a matriz em uma lista"
    • let a = [[1, 2], [4, 5], [4, 5]];
    • let resp = a.reduce((carry, row) => ([...carry, ...row]), []);
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'map';
    • }
    • function j() {
    • "Multiplicar matrizes"
    • let a = [1, 2, 3];
    • let b = [4, 5, 6];
    • let resp = a.reduce((carry, v, i) => carry + v * b[i], 0);
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'reduce';
    • }
    • function k() {
    • "Transformar as letras em maiúsculas"
    • let a = ['Fred', 'John', 'Paul'];
    • for (const [index, value] of a.entries()) {
    • a[index] = value.toUpperCase();
    • }
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'map';
    • }
    • function l() {
    • "Exibir no console as chaves e os valores"
    • let config = {portal: 'UOL', channel: 'Notícias', slug: 'uol'};
    • for (const prop in config) {
    • console.log(prop, config[prop]);
    • }
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'for';
    • }
    • function m() {
    • "Exibir no console os itens do array"
    • let tags = ['São Paulo', 'Sudeste', 'Brasil'];
    • for (const k in tags) {
    • console.log(tags[k]);
    • }
    • // responda: for, forEach, map ou reduce
    • return '';
    • return 'for';
    • }
Code
Diff
  • class Component {
      constructor(dom) {
        console.log('Parent class constructor executed!');
        this.dom = dom;
      }
      
      onCreate() {
        return true;
      }
    }
    
    class Collection extends Component {
      constructor(dom, sec) {
        super(dom);
        console.log('Collection class constructor executed!', sec);
      }
    }
    • class Component {
    • constructor(dom) {
    • console.log('Parent class constructor executed!');
    • this.dom = dom;
    • }
    • onCreate() {
    • return true;
    • }
    • }
    • class Collection {
    • //
    • class Collection extends Component {
    • constructor(dom, sec) {
    • super(dom);
    • console.log('Collection class constructor executed!', sec);
    • }
    • }
Code
Diff
  • class Component {
      constructor(dom) {
          this.dom = dom;
      }
      
      onCreate() {
        console.log('onCreate from parent class');
        return 'missing';
      }
      
      static on(event, callback) {
        callback();
      }
      
      async emit(event, data) {}
    }
    
    class Title extends Component {
      	constructor(dom) {
          super(dom);
        }
        
      onCreate() {
        super.onCreate();
        console.log('onCreate from Title class');
        return 'super!';
      }
    }
    
    
    
    • class Component {
    • constructor(dom) {
    • this.dom = dom;
    • }
    • onCreate() {
    • console.log('onCreate from parent class');
    • return 'missing';
    • }
    • static on(event, callback) {
    • callback();
    • }
    • async emit(event, data) {}
    • }
    • class Title extends Component {
    • constructor(dom) {
    • super(dom);
    • }
    • onCreate() {
    • super.onCreate();
    • console.log('onCreate from Title class');
    • return 'super!';
    • }
    • }
Code
Diff
  • class Component {
      constructor(dom) {
        this.dom = dom;
      }
      
      onCreate() {
        return this.dom;
      }
    }
    
    • function Component(dom) {
    • this.dom = dom;
    • this.onCreate = function() {
    • class Component {
    • constructor(dom) {
    • this.dom = dom;
    • }
    • onCreate() {
    • return this.dom;
    • }
Code
Diff
  • const  todo = function() {
      return 'Walk';
    };
    
    {
      const todo = function() {
        return 'Run';
      }
    }
    • function todo() {
    • const todo = function() {
    • return 'Walk';
    • }
    • };
    • // reescrever em ES6
    • (function() {
    • function todo() {
    • {
    • const todo = function() {
    • return 'Run';
    • }
    • })();
    • }
Code
Diff
  • // reescreva usando ES6
    
    var prop = 'myProp';
    
    var obj = {
      [prop]: 123,
      myFunc() {
        return this[prop];
      } 
    };
    
    • // reescreva usando ES6
    • var prop = 'myProp';
    • var obj = {
    • myFunc: function() {
    • [prop]: 123,
    • myFunc() {
    • return this[prop];
    • }
    • };
    • obj[prop] = 123;
Code
Diff
  • const title = 'UOL - O melhor conteúdo';
    
    var share = {
      fb: {
        title
      },
      twitter: {
        tweet: title
      }
    };
    • var title = 'UOL - O melhor conteúdo';
    • const title = 'UOL - O melhor conteúdo';
    • var share = {
    • fb: {
    • title: title
    • title
    • },
    • twitter: {
    • tweet: title
    • }
    • };
Code
Diff
  • let results = [
      {materia: {conteudo: {titulo: 'São Paulo'}}, tags: [1, 2, 3]},
      {materia: {conteudo: {}}, tags: [3, 2]},
      {materia: {conteudo: {titulo: 'Rio de Janeiro'}}, tags: [3, 2]},
    ];
    
    for (const result of results) {
      let { materia: { conteudo: { titulo = 'Brasil' } } } = result;
      console.log(titulo);
    }
    • let results = [
    • {materia: {conteudo: {titulo: 'São Paulo'}}, tags: [1, 2, 3]},
    • {materia: {conteudo: {}}, tags: [3, 2]},
    • {materia: {conteudo: {titulo: 'Rio de Janeiro'}}, tags: [3, 2]},
    • ];
    • for (const result of results) {
    • let titulo = result.materia.conteudo.titulo || 'Brasil';
    • let { materia: { conteudo: { titulo = 'Brasil' } } } = result;
    • console.log(titulo);
    • }
Code
Diff
  • var materia = {
      conteudo: {
        titulo: 'UOL',
      },
      tags: ['São Paulo', 'SP', 'Sudeste', 'Brasil', 'América Latina']
    };
    
    const [, uf, regiao] = materia.tags;
    
    const { titulo } = materia.conteudo;
    
    • var materia = {
    • conteudo: {
    • titulo: 'UOL',
    • },
    • tags: ['São Paulo', 'SP', 'Sudeste', 'Brasil', 'América Latina']
    • };
    • var uf = materia.tags[1];
    • var regiao = materia.tags[2];
    • const [, uf, regiao] = materia.tags;
    • var titulo = materia.conteudo.titulo;
    • const { titulo } = materia.conteudo;
Loading more items...