| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/find | [Back] [Original] |
Get to know MDN better
Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.
This feature is well established and works across many devices and browser versions. Its been available across browsers since setembro de 2015.
O mtodo find() retorna o valor do primeiro elemento do array que satisfizer a funo de teste provida. Caso contrario, undefined retornado.
const array1 = [5, 12, 8, 130, 44];
const found = array1.find((element) => element > 10);
console.log(found);
// Expected output: 12
Veja tambm o mtodo findIndex(), que retorna o ndice do elemento encontrado no array ao invs do seu valor.
Se voc precisa encontrar a posio de um elemento ou se um elemento existe em um array, use Array.prototype.indexOf() ou Array.prototype.includes().
arr.find(callback(element[, index[, array]])[, thisArg])
callbackFuno executada a cada iterao do array, recebendo trs argumentos:
elementO elemento atual que est sendo processado no array.
indexOptionalO ndice do elemento atualmente sendo processado no array.
arrayOptionalO array sobre o qual find foi chamado.
thisArgOptionalOpcional. Objeto usado como this quando executando o callback.
O valor do primeiro elemento do array que satisfaz a funo de teste fornecida; caso contrrio, undefined.
O mtodo find executa a funo callback uma vez para cada elemento presente no array at que encontre um onde callback retorne o valor true. Se o elemento encontrado, find retorna imediatamente o valor deste elemento. Caso contrrio, find retorna undefined. O callback acionado para todos os ndices do array de 0 a tamanho-1, no apenas para aqueles que possuem valores atribudos. Sendo assim, ele pode ser menos eficiente para arrays muito grandes em que existem outros mtodos que s visitam os ndices que tenham valor atribudo.
O callback acionado com trs argumentos: o valor do elemento, o ndice do elemento e o objeto do Array que est sendo executado.
Se um parmetro thisArg provido ao find, ele ser usado como o this para cada acionamento do callback. Se no for provido, ento undefined usado.
O find no altera a array qual foi acionado.
O conjunto dos elementos processados por find definido antes do primeiro acionamento do callback. Elementos que so anexados array aps o incio da chamada ao find no sero visitados pelo callback. Se um elemento existente ainda no visitado da array for alterado pelo callback, o valor passado ao callback quando o visitar ser o valor no momento que find visita o ndice daquele elemento; elementos excludos ainda so visitados.
const inventory = [
{ name: "apples", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "cerejas", quantity: 5 },
];
function isCherries(fruit) {
return fruit.name === "cerejas";
}
console.log(inventory.find(isCherries));
// { name: 'cerejas', quantity: 5 }
const inventory = [
{ name: "maas", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "cherries", quantity: 5 },
];
const result = inventory.find((fruit) => fruit.name === "cherries");
console.log(result); // { name: 'cherries', quantity: 5 }
O exemplo a seguir encontra um elemento dentro da array que nmero primo (ou retorna undefined se no houverem nmeros primos).
function isPrime(element, index, array) {
var start = 2;
while (start <= Math.sqrt(element)) {
if (element % start++ < 1) {
return false;
}
}
return element > 1;
}
console.log([4, 6, 8, 12].find(isPrime)); // undefined, not found
console.log([4, 5, 8, 12].find(isPrime)); // 5
Este mtodo foi adicionado especificao do ECMAScript 2015 e pode no estar disponvel em todas as implementaes do JavaScript. Entretanto, voc pode fazer um polyfill para o Array.prototype.find com o trecho de cdigo abaixo:
if (!Array.prototype.find) {
Array.prototype.find = function (predicate) {
if (this === null) {
throw new TypeError("Array.prototype.find called on null or undefined");
}
if (typeof predicate !== "function") {
throw new TypeError("predicate must be a function");
}
var list = Object(this);
var length = list.length >>> 0;
var thisArg = arguments[1];
var value;
for (var i = 0; i < length; i++) {
value = list[i];
if (predicate.call(thisArg, value, i, list)) {
return value;
}
}
return undefined;
};
}
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-array.prototype.find |
This page was last modified on 22 de mai. de 2026 by MDN contributors.
ArrayArray.prototype.at()Array.prototype.concat()Array.prototype.copyWithin()Array.prototype.entries()Array.prototype.every()Array.prototype.fill()Array.prototype.filter()Array.prototype.find()Array.prototype.findIndex()findLast()findLastIndex()Array.prototype.flat()Array.prototype.flatMap()Array.prototype.forEach()Array.prototype.includes()Array.prototype.indexOf()Array.prototype.join()Array.prototype.keys()Array.prototype.lastIndexOf()Array.prototype.map()Array.prototype.pop()Array.prototype.push()Array.prototype.reduce()Array.prototype.reduceRight()Array.prototype.reverse()Array.prototype.shift()Array.prototype.slice()Array.prototype.some()Array.prototype.sort()Array.prototype.splice()Array.prototype.toLocaleString()toReversed()toSorted()toSpliced()Array.prototype.toString()Array.prototype.unshift()Array.prototype.values()with()Array.prototype[@@iterator]()Object/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |