Ordenação de um array de entrada atendendo a ordem estipulada pelos elementos em outro array de ordenação. O array retornado deve conter todos os elementos do array de entrada na seguinte ordem: todos os elementos com CHAVE (id) de mesmo valor do primeiro elemento do array de ordenação, depois todos com CHAVE(id) de mesmo valor do próximo elemento do array de ordenação e assim sucessivamente.
No primeiro passo o programa agrupa os elementos da entrada, de acordo com seu campo CHAVE(id). No segundo passo o array de saida é produzido na sequência dos elementos do array de ordenção: para cada elemento do array de ordenação, acrescentamos ao array de saida, os elementos do array de entrada que pertencem ao grupo correspondente a CHAVE(id), de acordo com os grupos gerados no primeiro passo.
A pasta src contem os arquivos com código:
- sortObjects.js: contém função de ordenação: recebe como parâmetros: array de entradas e o array de ordenação, retorna array ordenado.
- sortObjects.spec.js: contém testes unitários da função em sortObjects.js
- index.js: programa principal que chama sortObjects.js com exemplo de entradas e ordenação e escreve array retorndo na saída padrão.
Este software é escrito em javascript e depende para sua instalação do nodejs e de um gerenciador de pacotes para o nodejs como yarn ou npm.
Se você utiliza o yarn (recomendado):
- $ yarn // Instala todas as dependências
Se você utilia o npm:
- $ npm install
- $ node src/index.js // executa com arrays pré-definidos em index.js
Se você utiliza o yarn (recomendado):
- $ yarn test // testa o programa em alguns cenários
- $ yarn test:coverage // testa o programa e verifica a cobertura do código por testes.
Se você utiliza o npm:
- $ npm run test // testa o programa em alguns cenários
- $ npm run test:coverage // testa o programa e verifica a cobertura do código por testes.