Introdução
Neste laboratório, exploraremos como verificar se um array está contido em outro array em JavaScript. Usaremos vários métodos de array, como for...of, Set, some() e filter(), para escrever uma função que possa determinar se os elementos do primeiro array estão presentes no segundo array, independentemente de sua ordem. Este laboratório ajudará você a entender como manipular arrays em JavaScript e escrever código eficiente para resolver problemas comuns de programação.
Função para Verificar se um Array está Contido em Outro Array
Para começar a codificar, abra o Terminal/SSH e digite node. Esta função verifica se todos os elementos do primeiro array estão presentes no segundo array, independentemente de sua ordem.
Aqui estão os passos a seguir:
- Use um loop
for...ofpara iterar sobre umSetcriado a partir do primeiro array. - Aplique
Array.prototype.some()para verificar se todos os valores distintos estão presentes no segundo array. - Use
Array.prototype.filter()para comparar o número de ocorrências de cada valor distinto em ambos os arrays. - Se a contagem de qualquer elemento for maior no primeiro array do que no segundo, retorne
false. Caso contrário, retornetrue.
Confira o código abaixo para ver como funciona:
const isContainedIn = (a, b) => {
for (const v of new Set(a)) {
if (
!b.some((e) => e === v) ||
a.filter((e) => e === v).length > b.filter((e) => e === v).length
)
return false;
}
return true;
};
Para testar a função, use o seguinte código:
isContainedIn([1, 4], [2, 4, 1]); // true
Resumo
Parabéns! Você concluiu o laboratório "Array está Contido em Outro Array". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.