| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/includes | [Back] [Original] |
Get to know MDN better
Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.
Esta caracterstica est consolidada y funciona en muchos dispositivos y versiones de navegador. Est disponible en todos los navegadores desde agosto de 2016.
El mtodo includes() determina si una matriz incluye un determinado elemento, devuelve true o false segn corresponda.
const array1 = [1, 2, 3];
console.log(array1.includes(2));
// Expected output: true
const pets = ["cat", "dog", "bat"];
console.log(pets.includes("cat"));
// Expected output: true
console.log(pets.includes("at"));
// Expected output: false
arr.includes(searchElement[, fromIndex])
valueToFindEl valor a buscar.
Nota:
Al comparar cadenas de texto y caracteres, includes() distingue maysculas y minsculas.
fromIndex OpcionalPosicin en la matriz en la cul se debe comenzar a buscar valueToFind; el primer caracter a buscar se encuentra en fromIndex. Un valor negativo inicia la bsqueda desde array.length + fromIndex en adelante. El valor por defecto es 0.
Un Boolean que es true si el valor valueToFind se encuentra dentro de la matriz (o la parte de la matriz indicada por el ndice fromIndex, si se especifica). Todos los valores de cero se consideran iguales independientemente del signo (es decir, -0 se considera igual a 0 y +0), pero false no se considera igual a 0.
Nota:
Tcnicamente hablando, include() usa el algoritmo sameValueZero para determinar si se encuentra el elemento dado
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
fromIndex es mayor o igual que la longitud de la matrizSi fromIndex es mayor o igual que la longitud de la matriz, se devuelve false. No se buscar en la matriz.
var arr = ["a", "b", "c"];
arr.includes("c", 3); // false
arr.includes("c", 100); // false
Si fromIndex es negativo, el ndice calculado se calcula para usarse como una posicin en la matriz en la cual comenzar a buscar searchElement. Si el ndice calculado es menor que 0, se buscar la matriz completa.
// la longitud de la matriz es 3
// fromIndex es -100
// el ndice calculado es 3 + (-100) = -97
var arr = ["a", "b", "c"];
arr.includes("a", -100); // true
arr.includes("b", -100); // true
arr.includes("c", -100); // true
includes() utilizado como mtodo genricoEl mtodo includes() es intencionalmente genrico. No requiere que este valor sea un objeto Array, por lo que se puede aplicar a otros tipos de objetos (por ejemplo, objetos tipo array). El siguiente ejemplo ilustra el mtodo includes() llamado en el objeto de argumentos de la funcin.
(function () {
console.log([].includes.call(arguments, "a")); // true
console.log([].includes.call(arguments, "d")); // false
})("a", "b", "c");
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
if (!Array.prototype.includes) {
Object.defineProperty(Array.prototype, "includes", {
value: function (searchElement, fromIndex) {
if (this == null) {
throw new TypeError('"this" es null o no est definido');
}
// 1. Dejar que O sea ? ToObject(this value).
var o = Object(this);
// 2. Dejar que len sea ? ToLength(? Get(O, "length")).
var len = o.length >>> 0;
// 3. Si len es 0, devuelve false.
if (len === 0) {
return false;
}
// 4. Dejar que n sea ? ToInteger(fromIndex).
// (Si fromIndex no est definido, este paso produce el valor 0.)
var n = fromIndex | 0;
// 5. Si n 0, entonces
// a. Dejar que k sea n.
// 6. Else n < 0,
// a. Dejar que k sea len + n.
// b. Si k < 0, Dejar que k sea 0.
var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
function sameValueZero(x, y) {
return (
x === y ||
(typeof x === "number" &&
typeof y === "number" &&
isNaN(x) &&
isNaN(y))
);
}
// 7. Repite, mientras k < len
while (k < len) {
// a. Dejar que elementK sea el resultado de ? Get(O, ! ToString(k)).
// b. Si SameValueZero(searchElement, elementK) es true, devuelve true.
if (sameValueZero(o[k], searchElement)) {
return true;
}
// c. Incrementa k por 1.
k++;
}
// 8. Devuelve false
return false;
},
});
}
Si necesita admitir motores de JavaScript realmente obsoletos que no son compatibles con Object.defineProperty, es mejor no rellenar los mtodos Array.prototype, ya que no puede hacerlos no enumerables.
| Especificacin |
|---|
| ECMAScript 2027 LanguageSpecification # sec-array.prototype.includes |
TypedArray.prototype.includes()String.prototype.includes()Array.prototype.indexOf()Array.prototype.find()Array.prototype.findIndex()Esta pgina se modific por ltima vez el 19 jun 2025 por colaboradores de MDN.
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()Array.prototype.toSorted()toSpliced()Array.prototype.toString()Array.prototype.unshift()Array.prototype.values()with()Array.prototype[@@iterator]()Object/FunctionPartes de este contenido son 19982026 de colaboradores individuales de mozilla.org. Contenido disponible bajo una licencia Creative Commons.
| Web Proxy Viewer | New URL | Original Page |