Comparar listas e texto
Compare duas listas linha a linha: encontre o que está em ambas, só em uma ou em qualquer uma, ou veja um diff de linhas marcado lado a lado.
Exemplos de código
Copie estes exemplos para o seu próprio projeto. Cada um usa apenas a biblioteca padrão da linguagem, por isso não há nada para instalar.
const a = ['a', 'b', 'c', 'b']
const b = ['b', 'd']
const exclude = new Set(b)
console.log([...new Set(a)].filter((line) => !exclude.has(line)).join('\n'))O que faz
Compara duas listas linha a linha. Como conjuntos: cada linha uma vez (união), as linhas nas duas listas (interseção), as linhas só em A ou só em B e as linhas em exatamente uma das duas. Como texto: um diff de linhas que marca cada linha como inalterada, removida ou adicionada, em vista unificada ou lado a lado.
Como usar
- Digite ou cole um item por linha na Lista A e na Lista B. Um arquivo de texto pode ser solto na lista A.
- Escolha uma operação. Em Mais, desative Diferenciar maiúsculas para
Maçãemaçãcontarem como iguais, ou ative Ignorar espaços ao redor para que um espaço no fim não torne a linha diferente. O resultado mantém as linhas como você digitou. - Copie ou baixe o resultado. Remover linhas em branco tira antes as linhas vazias das duas listas.
Exemplos
Com a lista A com a, b, c, d e a lista B com b, c:
A − B dá a e d, A ∩ B dá b e c, e o Diff de linhas marca a e d como removidas de A.
Bom saber
- Operações de conjuntos ignoram a ordem das linhas e dão cada linha uma vez, na ordem da primeira aparição.
- Um diff de linhas compara as listas de cima para baixo, então uma linha movida aparece removida num lugar e adicionada em outro.
- Na vista lado a lado, linhas alteradas dividem uma linha da tabela; uma linha sem par tem um lado em branco.
- Linhas que só diferem no que você escolheu ignorar contam como iguais e aparecem como na lista B.
O que significam as operações?
A ∪ B lista cada linha que está em qualquer uma das listas, uma vez. A ∩ B mantém as linhas que estão nas duas. A − B mantém as linhas só em A e B − A as linhas só em B. A última operação mantém as linhas que estão em exatamente uma lista. Cada resultado fica sem repetições e na ordem da primeira aparição.
Perguntas frequentes
Qual é a diferença entre uma operação de conjuntos e um diff de linhas?
Uma operação de conjuntos compara as listas como coleções, então a ordem das linhas não importa. Um diff de linhas as compara como texto de cima para baixo e marca cada linha como inalterada, removida ou adicionada, como numa revisão de código.
Posso ignorar maiúsculas e espaços?
Sim. Em Mais, desative diferenciar maiúsculas e ative ignorar os espaços ao redor. Linhas que só diferem assim contam como iguais e o resultado as mantém como você digitou.
Esta ferramenta envia minhas listas para algum lugar?
Não. Tudo acontece no seu navegador. O que você digita nunca é enviado aos nossos servidores.