Files
freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof.md
Nicholas Carrigan (he/him) c4fd49e5b7 chore: manual translations (#42811)
2021-07-10 09:53:54 +05:30

2.7 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b7b367417b2b2512b14 Verifique a Presença de um Elemento com indexOf() 1 301154 check-for-the-presence-of-an-element-with-indexof

--description--

Já que arrays podem ser alterados, ou mutadas, a qualquer momentos, não há garantia de onde um pedaço de dado estará em um determinado array, ou se esse elemento se quer existe. Felizmente, JavaScript nos fornece com outro método embutido, indexOf(), que nos permite rapidamente e facilmente checar pela presença de um elemento em um array. indexOf() recebe um elemento como parâmetro, e quando chamado, retorna a posição, ou índice, daquele elemento, ou -1 se o elemento não existe no array.

Por exemplo:

let fruits = ['apples', 'pears', 'oranges', 'peaches', 'pears'];

fruits.indexOf('dates');
fruits.indexOf('oranges');
fruits.indexOf('pears');

indexOf('dates') retorna -1, indexOf('oranges') retorna 2 e indexOf('pears') retorna 1 (o primeiro índice no qual cada elemento existe).

--instructions--

indexOf() pode ser incrivelmente útil para verificar rapidamente a presença de um elemento em um array. Definimos uma função, quickCheck, que recebe um array e um elemento como argumentos. Modifique a função usando indexOf() para que retorne true se o elemento passado existe no array, efalse caso não exista.

--hints--

A função quickCheck deve retornar um booleano (true ou false), e não uma string ("true" ou "false")

assert.isBoolean(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'));

quickCheck(["squash", "onions", "shallots"], "mushrooms") deve retornar false

assert.strictEqual(
  quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'),
  false
);

quickCheck(["onions", "squash", "shallots"], "onions") deve retornar true

assert.strictEqual(
  quickCheck(['onions', 'squash', 'shallots'], 'onions'),
  true
);

quickCheck([3, 5, 9, 125, 45, 2], 125) deve retornar true

assert.strictEqual(quickCheck([3, 5, 9, 125, 45, 2], 125), true);

quickCheck([true, false, false], undefined) deve retornar false

assert.strictEqual(quickCheck([true, false, false], undefined), false);

A função quickCheck deve utilizar o método indexOf()

assert.notStrictEqual(quickCheck.toString().search(/\.indexOf\(/), -1);

--seed--

--seed-contents--

function quickCheck(arr, elem) {
  // Only change code below this line

  // Only change code above this line
}

console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'));

--solutions--

function quickCheck(arr, elem) {
  return arr.indexOf(elem) >= 0; 
}