Files
freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties.md
2023-05-08 20:45:14 +05:30

2.5 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
567af2437cbaa8c51670a16c Testar objetos por propriedades 1 18324 testing-objects-for-properties

--description--

Para verificar se uma propriedade em um determinado objeto existe ou não, você pode usar o método .hasOwnProperty(). someObject.hasOwnProperty(someProperty) retorna true ou false, dependendo de a propriedade ser encontrada no objeto ou não.

Exemplo

function checkForProperty(object, property) {
  return object.hasOwnProperty(property);
}

checkForProperty({ top: 'hat', bottom: 'pants' }, 'top'); // true
checkForProperty({ top: 'hat', bottom: 'pants' }, 'middle'); // false

A primeira função checkForProperty retorna true, enquanto a segunda retorna false.

--instructions--

Modifique a função checkObj para testar se um objeto passado para o parâmetro da função obj contém a propriedade específica passada para o parâmetro da função checkProp. Se a propriedade passada para checkProp for encontrada em obj, retorne o valor dessa propriedade. Se não, retorne Not Found.

--hints--

checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "gift") deve retornar a string pony.

assert(
  checkObj({ gift: 'pony', pet: 'kitten', bed: 'sleigh' }, 'gift') === 'pony'
);

checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "pet") deve retornar a string kitten.

assert(
  checkObj({ gift: 'pony', pet: 'kitten', bed: 'sleigh' }, 'pet') === 'kitten'
);

checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "house") deve retornar a string Not Found.

assert(
  checkObj({ gift: 'pony', pet: 'kitten', bed: 'sleigh' }, 'house') ===
    'Not Found'
);

checkObj({city: "Seattle"}, "city") deve retornar a string Seattle.

assert(checkObj({ city: 'Seattle' }, 'city') === 'Seattle');

checkObj({city: "Seattle"}, "district") deve retornar a string Not Found.

assert(checkObj({ city: 'Seattle' }, 'district') === 'Not Found');

checkObj({pet: "kitten", bed: "sleigh"}, "gift") deve retornar a string Not Found.

assert(checkObj({ pet: 'kitten', bed: 'sleigh' }, 'gift') === 'Not Found');

--seed--

--seed-contents--

function checkObj(obj, checkProp) {
  // Only change code below this line
  return "Change Me!";
  // Only change code above this line
}

--solutions--

function checkObj(obj, checkProp) {
  if(obj.hasOwnProperty(checkProp)) {
    return obj[checkProp];
  } else {
    return "Not Found";
  }
}