Подскажите, как это можно реализовать?

Есть ТЗ от работодателя, но как понимаю оно напрямую связанно с ооп, немного его изучил, но совсем не понимаю что нужно сделать и как это реализовать. ПОдскажите, что нужно изучить и какой примерный алгоритм действий?

task

  1. Напишите функцию подготовки строки, которая заполняет шаблон данными из указанного объекта
  2. Пришлите код целиком, чтобы можно его было проверить
  3. Придерживайтесь code style текущего задания
  4. По необходимости - можете дописать код, методы
  5. Разместите код в гите и пришлите ссылку
    /**
     * Класс для работы с API
     *
     * @author      User Name 
     * @version     v.1.0 (dd/mm/yyyy)
     */
    class Api
    {
        constructor() 
        {
    
        }
    
    
        /**
         * Заполняет строковый шаблон template данными из объекта object
         *
         * @author      User Name 
         * @version     v.1.0 (dd/mm/yyyy)
         * @param       {object} object
         * @param       {string} template
         * @return      {string}
         */
        get_api_path(object, template)
        {
            let result = '';
    
            /* Здесь ваш код */
    
            return result;
        }
    }
    
    
    let user =
    {
        id      : 20,
        name    : 'John Dow',
        role    : 'QA',
        salary  : 100
    };
    
    let api_path_templates =
    [
        "/api/items/%id%/%name%",
        "/api/items/%id%/%role%",
        "/api/items/%id%/%salary%"
    ];
    
    let api = new Api();
    
    let api_paths = api_path_templates.map((api_path_template) =>
    {
        return api.get_api_path(user, api_path_template);
    });
    
    console.log(JSON.stringify(api_paths));
    
    // Ожидаемый результат
    let expected_result = ["/api/items/20/John%20Dow","/api/items/20/QA","/api/items/20/100"];

Ответы (1 шт):

Автор решения: grad

Что необходимо изучить:

  1. Строки
  2. Объекты
  3. Классы

Примерный алгоритм:

  1. Определить в каждой строке api_path_templates данные, которые нам необходимы
  2. Вместо этих данных вставить параметры из объекта.

По идее этого должно хватить для решения. Также замечу, что в ожидаемом результате нужно уточнить на что мы заменяем пробельный символ. Сейчас это %20, т.е. вывод % и id. Уточнить, ошибка ли это или так и надо.

→ Ссылка