rolling-scopes-school / core-js-strings

Tasks for learning methods of String class
MIT License
16 stars 1.77k forks source link

Core JS Strings

:warning: Please note that you mustn't open PRs that contains the answers to this repo!

However, PRs with the fixes or proposals are welcomed!

Task

The goal of the assignment is to learn how to work with strings in JS.

Active usage of documentation is strongly recommended!

Prepare and test

  1. Install Node.js

  2. Fork this repository: https://github.com/rolling-scopes-school/core-js-strings

  3. Clone your newly created repo: https://github.com/<%your_github_username%>/core-js-strings/

  4. Go to folder core-js-strings

  5. To install all dependencies use npm install

  6. Each task is usually a regular function:

    /**
    * Returns the result of concatenation of two strings.
    *
    * @param {string} value1
    * @param {string} value2
    * @return {string}
    *
    * @example
    *   'aa', 'bb' => 'aabb'
    *   'aa',''    => 'aa'
    *   '',  'bb'  => 'bb'
    */
    function concatenateStrings(value1, value2) {
     throw new Error('Not implemented');
    }

    Read the task description in the comment above the function. Try to understand the idea. You can see the tests prepared if you don't understand it.

  7. Write your code in src/*.js.

    Remove the throwing error line from function body:

    throw new Error('Not implemented');

    Implement the function by any way and verify your solution by running tests until the failed test become passed (green).

  8. Run npm test in command line. If everything is OK you can try to resolve the next task.

  9. You will see the number of passing and pending tests.

Submit to rs app

  1. Commit and push your solutions to your fork
  2. Open rs app and login
  3. Go to submit task page
  4. Select your task (Core JS Strings)
  5. Press submit button and enjoy

Notes

We recommend you to use nodejs of version 16. If you using any of features that does not supported by node v16, score won't be submitted. Please be sure that each of your test in limit of 30sec. You will get 0 (zero) if you have any eslint's errors or warnings.

FAQ

Question: I use Windows machine and have received a lot of errors like "Expected linebreaks to be 'LF' but found 'CRLF'". How to handle it?

Answer:

npm run lint:fix

The task based on https://github.com/rolling-scopes-school/js-assignments.