Упражнение по написанию кода 10: Задачи на работу с объектами

Задание


1) Напишите функцию showExperience, которая будет принимать в себя объект со всеми данными и возвращать строку с опытом.

Пример:

showExperience(personalPlanPeter) => '1 month'


P.S. желательно использовать деструктуризацию, но не обязательно

2) Напишите функцию showProgrammingLangs, которая будет принимать в себя объект со всеми данными и возвращать строку в нужном виде.

Пример:

showProgrammingLangs(personalPlanPeter)  => "Язык js изучен на 20% Язык php изучен на 10%"


Причем функция должна работать вне зависимости от количества языков. Если ни один не указан, то возвращается пустая строка.

P.S. Для переноса строки используется \n в конце строки.

3) Создайте метод showAgeAndLangs внутри объекта personalPlanPeter. При его вызове метод будет принимать в себя объект и возвращать строку в нужном виде.

Пример:

personalPlanPeter.showAgeAndLangs(personalPlanPeter) => 'Мне 29 и я владею языками: RU ENG'


Заметьте, что возраст и языки подставляются автоматически из объекта, а языки всегда в верхнем регистре (большими буквами). Если данные в объекте поменяются, то и сообщение тоже изменится.

Код
const personalPlanPeter = {
  name: "Peter",
  age: "29",
  skills: {
  languages: ['ru', 'eng'],
  programmingLangs: {
  js: '20%',
  php: '10%'
  },
  exp: '1 month'
  }
};

function showExperience(plan) {

}

function showProgrammingLangs(plan) {

}

Решение задач


Код
const personalPlanPeter = {
  name: "Peter",
  age: "29",
  skills: {
  languages: ["ru", "eng"],
  programmingLangs: {
  js: "20%",
  php: "10%",
  },
  exp: "1 month",
  },
  showAgeAndLangs: function (plan) {
  const { age, skills } = plan;
  let str = "";

  for (let key of skills.languages) {
  str += key.toUpperCase() + " ";
  }

  return `Мне ${age} и я владею языками: ${str}`;
  },
};

personalPlanPeter.showAgeAndLangs(personalPlanPeter);

// Первая задача

function showExperience(plan) {

  const {exp} = plan.skills;
  return exp;

}

showExperience(personalPlanPeter);

// Вторая задача

function showProgrammingLangs(plan) {
  const { programmingLangs } = plan.skills;
   

  if (Object.keys(programmingLangs).length > 0) {
  let str = ``;
  for (let key in programmingLangs) {
  str += `Язык ${key} изучен на ${programmingLangs[key]}\n`;
  }
  return str;
  } else {
  return '';
  }
}

showProgrammingLangs(personalPlanPeter);

Всего комментариев: 1

Алексей 28.06.2025 в 00:51 / Материал
Решения преподавателя

Код
const personalPlanPeter = {
   name: "Peter",
   age: "29",
   skills: {
   languages: ['ru', 'eng'],
   programmingLangs: {
   js: '20%',
   php: '10%'
   },
   exp: '1 month'
   },
   showAgeAndLangs: function(plan) {
   const {age} = plan;
   const {languages} = plan.skills;
   let str = `Мне ${age} и я владею языками: `;

   languages.forEach(function(lang) {
   str += `${lang.toUpperCase()} `;
   });

   return str;
   }
};

personalPlanPeter.showAgeAndLangs(personalPlanPeter);

function showExperience(plan) {
   const {exp} = plan.skills;
   return exp;
}

showExperience(personalPlanPeter);

function showProgrammingLangs(plan) {
   let str = '';
   const {programmingLangs} = plan.skills;
   for (let key in programmingLangs) {
   str += `Язык ${key} изучен на ${programmingLangs[key]}\n`
   }

   return str;
}

showProgrammingLangs(personalPlanPeter);
0
Имя *:
Email *:
Код *:
Хостинг от uCoz