Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

Array.prototype.includes()

BaselineWidely available

El métodoincludes() determina si una matriz incluye un determinado elemento, devuelvetrue ofalse según corresponda.

Pruébalo

const array1 = [1, 2, 3];console.log(array1.includes(2));// Expected output: trueconst pets = ["cat", "dog", "bat"];console.log(pets.includes("cat"));// Expected output: trueconsole.log(pets.includes("at"));// Expected output: false

Sintaxis

arr.includes(searchElement[, fromIndex])

Parámetros

valueToFind

El valor a buscar.

Nota:Al comparar cadenas de texto y caracteres,includes()distingue mayúsculas y minúsculas.

fromIndexOpcional

Posición en la matriz en la cuál se debe comenzar a buscarvalueToFind; el primer caracter a buscar se encuentra enfromIndex. Un valor negativo inicia la búsqueda desde array.length + fromIndex en adelante. El valor por defecto es 0.

Valor devuelto

UnBoolean que estrue si el valorvalueToFind se encuentra dentro de la matriz (o la parte de la matriz indicada por el índicefromIndex, si se especifica). Todos los valores de cero se consideran iguales independientemente del signo (es decir, -0 se considera igual a 0 y +0), perofalse no se considera igual a 0.

Nota:Técnicamente hablando,include() usa el algoritmosameValueZero para determinar si se encuentra el elemento dado

Ejemplos

js
[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 matriz

SifromIndex es mayor o igual que la longitud de la matriz, se devuelvefalse. No se buscará en la matriz.

js
var arr = ["a", "b", "c"];arr.includes("c", 3); // falsearr.includes("c", 100); // false

El índice calculado es menor que 0

SifromIndex es negativo, el índice calculado se calcula para usarse como una posición en la matriz en la cual comenzar a buscarsearchElement. Si el índice calculado es menor que 0, se buscará la matriz completa.

js
// la longitud de la matriz es 3// fromIndex es -100// el índice calculado es 3 + (-100) = -97var arr = ["a", "b", "c"];arr.includes("a", -100); // truearr.includes("b", -100); // truearr.includes("c", -100); // true

includes() utilizado como método genérico

El métodoincludes() es intencionalmente genérico. 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 métodoincludes() llamado en el objeto de argumentos de la función.

js
(function () {  console.log([].includes.call(arguments, "a")); // true  console.log([].includes.call(arguments, "d")); // false})("a", "b", "c");

Polyfill

js
// https://tc39.github.io/ecma262/#sec-array.prototype.includesif (!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 conObject.defineProperty, es mejor no rellenar los métodosArray.prototype, ya que no puede hacerlos no enumerables.

Especificaciones

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.includes

Compatibilidad con navegadores

Ver también

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp