Skip to content

aesteves60/adeo-test-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Javascript developer test

Filter

Your job is to write a command-line interface in Node.js. This program has to filter a list of elements containing a pattern.

Details:

  • In the following file data.js, there are Countries containing Peoples containing Animals.
  • Only animals containing the pattern passed as argument (e.g. ry) are displayed. The order should be kept intact.
  • Empty array after filtering are NOT returned.

Sample of running the command, and its output:

$ node app.js --filter=ry
[
  {
    name: 'Uzuzozne',
    people: [
      {
        name: 'Lillie Abbott',
        animals: [
          {
            name: 'John Dory'
          }
        ]
      }
    ]
  },
  {
    name: 'Satanwi',
    people: [
      {
        name: 'Anthony Bruno',
        animals: [
          {
            name: 'Oryx'
          }
        ]
      }
    ]
  }
]

Count

The next goal is to print the counts of People and Animals by counting the number of children and appending it in the name, eg. Satanwi [2].

Sample of running the command, and its output:

node app.js --count
[ { name: 'Dillauti [5]',
    people:
     [ { name: 'Winifred Graham [6]',
         animals:
          [ { name: 'Anoa' },
            { name: 'Duck' },
            { name: 'Narwhal' },
            { name: 'Badger' },
            { name: 'Cobra' },
            { name: 'Crow' } ] },
       { name: 'Blanche Viciani [8]',
         animals:
          [ { name: 'Barbet' },
            { name: 'Rhea' },
            { name: 'Snakes' },
            { name: 'Antelope' },
            { name: 'Echidna' },
            { name: 'Crow' },
            { name: 'Guinea Fowl' },
            { name: 'Deer Mouse' } ] },
      ...
...
]

Requirements

  • The code must be available in a GIT repository
  • No library/modules should be used, except for the testing library

Appreciation

We will be really attentive to:

  • Code readability, structure and consistency
  • Tests, and how they are written

Run

You need node 18.11.0 at least

# install dependence
npm i 

# run the app
npm run start

# run test 
npm run test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published