// e cada valor é um array que contém todos os elementos do array original com essa chave. // código aqui // Exemplo 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Exemplo 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String));
Frontend
// É dada uma string composta por letras latinas, espaços e sinais de pontuação. // Uma string é chamada de pangrama se contiver pelo menos uma vez cada uma das 26 letras. Determine se a string é um pangrama. const LETTERS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; function isPangram(text) { // seu código aqui } console.log(isPangram(`A pangram or holoalphabetic sentence is a using every letter of a given alphabet at least once.`)); // => console.log(isPangram('Waltz, bad nymph, for quick jigs vex.'))
Quais são as limitações da travessia recursiva de uma árvore? Como a travessia em profundidade (DFS) difere da travessia em largura (BFS)? Como pode-se implementar uma travessia de árvore sem recursão?
Como mais se pode obter um valor numérico de this (além de Number(this))?
Explique o que acontecerá com a envoltória Promise se asyncCall por engano chamar o callback passado várias vezes: primeiro com um erro, depois com dados e, por fim, novamente com um erro.
Qual é a diferença entre verificar 'key in result' e 'result.hasOwnProperty(key)'?
/** * Implementar a função compose, que aceita * uma quantidade variável de funções e retorna uma nova função. * O resultado de cada função é passado para a seguinte. */ // Código aqui const square = (x) => x * x; const times2 = (x) => x * 2; const sum = (a, b) => a + b; console.clear(); console.log(compose(square, times2)(2) === square(times2(2))); console.log(compose(square, times2, sum)(3, 4) === square(times2(sum(3, 4))));
Implementar a função sumPromises, que aceita promessas como argumentos e retorna a soma dos seus resultados. A função pode aceitar qualquer quantidade de argumentos, pode usar qualquer API de promessas.
Como transformar um pseudo-array arguments num array verdadeiro? Nomeie várias formas.
Que outros métodos da API Promise conheces além do Promise.all?
Onde numa aplicação real a função callLimit com a capacidade de redefinir o contador poderia ser útil?
Por que o tempo de execução do sleep não é exatamente 1000 e 2000 milissegundos, mas um pouco mais? O que influencia o atraso?
9. Copiar Durante uma prova, o professor Floyd notou que alguns estudantes trocavam notas. No início, ele quis atribuir a todos a nota 2, mas o professor era gentil, então decidiu dividir os estudantes em dois grupos: os que permitem copiar e os que só recebem notas de 2 no primeiro. O professor tem registradas todas as pares de estudantes que trocaram notas. É necessário determinar se é possível dividir os estudantes em dois grupos de modo que qualquer troca de notas seja feita de um estudante de um grupo para um estudante do outro grupo. Formato de entrada Na primeira linha, encontram-se dois números N e M — a quantidade de estudantes e a quantidade de pares de estudantes que trocam notas (1 ≤ N ≤ 10^2, 0 ≤ M ≤ N(N-1)/2). Depois, em M linhas, estão as descrições dos pares de estudantes: dois números que correspondem aos números dos estudantes que trocam notas (a numeração dos estudantes começa em 1, cada par de estudantes é listado no máximo uma vez). Formato de saída Deve-se imprimir a resposta para a tarefa do professor Floyd. Se for possível dividir os estudantes em dois grupos, imprima YES; caso contrário, NO.
Por que se utiliza Array.prototype.slice.call(arguments)? Como funcionam call e apply?
[nome] perguntou: No caso de desenvolvimento paralelo, os executantes esclareceram eles próprios os contratos?
Determinar se uma string é uma 'pangrama' — uma string que contém pelo menos uma vez cada letra do alfabeto.
Por que pode ser necessário o método apply na solução runOnce?
/** * Implementar a função isMonotonic, que recebe * um array de números e determina se é * monótono (não crescente ou não decrescente). * * @param {Array<number>} numbers - array de números * @return {boolean} - true se o array for monótono, caso contrário false */ function isMonotonic(numbers) { // seu código aqui }
Fala sobre o teu local de trabalho atual e o projeto
Reescrever a função strjoin em ES5 sem o operador rest