Files
2023-07-14 23:40:03 +09:00

3.5 KiB
Raw Blame History

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
5688e62ea601b2482ff8422b Пошук профілю 1 https://scrimba.com/c/cDqW2Cg 18259 profile-lookup

--description--

У нас є масив об’єктів, які представляють різних людей зі списку контактів.

Функція lookUpProfile, яка приймає name та властивість (prop) як аргументи, вже записана для вас.

The function should check if name is an actual contact's firstName and the given property (prop) is a property of that contact.

Якщо обидва є істинними, то поверніть значення цієї власності.

Якщо name не відповідає жодному контакту, поверніть рядок No such contact.

Якщо prop не збігається з жодною дійсною властивістю контакту, що відповідає name, поверніть рядок No such property.

--hints--

lookUpProfile("Kristian", "lastName") має повертати рядок Vos

assert(lookUpProfile('Kristian', 'lastName') === 'Vos');

lookUpProfile("Sherlock", "likes") має повертати ["Intriguing Cases", "Violin"]

assert.deepEqual(lookUpProfile('Sherlock', 'likes'), [
  'Intriguing Cases',
  'Violin'
]);

lookUpProfile("Harry", "likes") має повертати масив

assert(typeof lookUpProfile('Harry', 'likes') === 'object');

lookUpProfile("Bob", "number") має повертати рядок No such contact

assert(lookUpProfile('Bob', 'number') === 'No such contact');

lookUpProfile("Bob", "potato") має повертати рядок No such contact

assert(lookUpProfile('Bob', 'potato') === 'No such contact');

lookUpProfile("Akira", "address") має повертати рядок No such property

assert(lookUpProfile('Akira', 'address') === 'No such property');

--seed--

--seed-contents--

// Setup
const contacts = [
  {
    firstName: "Akira",
    lastName: "Laine",
    number: "0543236543",
    likes: ["Pizza", "Coding", "Brownie Points"],
  },
  {
    firstName: "Harry",
    lastName: "Potter",
    number: "0994372684",
    likes: ["Hogwarts", "Magic", "Hagrid"],
  },
  {
    firstName: "Sherlock",
    lastName: "Holmes",
    number: "0487345643",
    likes: ["Intriguing Cases", "Violin"],
  },
  {
    firstName: "Kristian",
    lastName: "Vos",
    number: "unknown",
    likes: ["JavaScript", "Gaming", "Foxes"],
  },
];

function lookUpProfile(name, prop) {
  // Only change code below this line

  // Only change code above this line
}

lookUpProfile("Akira", "likes");

--solutions--

const contacts = [
  {
    firstName: "Akira",
    lastName: "Laine",
    number: "0543236543",
    likes: ["Pizza", "Coding", "Brownie Points"],
  },
  {
    firstName: "Harry",
    lastName: "Potter",
    number: "0994372684",
    likes: ["Hogwarts", "Magic", "Hagrid"],
  },
  {
    firstName: "Sherlock",
    lastName: "Holmes",
    number: "0487345643",
    likes: ["Intriguing Cases", "Violin"],
  },
  {
    firstName: "Kristian",
    lastName: "Vos",
    number: "unknown",
    likes: ["JavaScript", "Gaming", "Foxes"],
  },
];
function lookUpProfile(name, prop) {
  for (let i in contacts) {
    if (contacts[i].firstName === name) {
      return contacts[i][prop] || "No such property";
    }
  }
  return "No such contact";
}