{"id":23994795,"url":"https://github.com/mrredu/metodos-array","last_synced_at":"2025-09-14T02:31:24.228Z","repository":{"id":175433230,"uuid":"652078621","full_name":"MrRedu/metodos-array","owner":"MrRedu","description":"📝Guía de los métodos funcionales del = ['A', 'r', 'r', 'a', 'y']","archived":false,"fork":false,"pushed_at":"2024-07-11T01:29:46.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-11T03:27:23.175Z","etag":null,"topics":["arrays","javascript","methods"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrRedu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-11T02:41:32.000Z","updated_at":"2024-07-11T03:27:35.260Z","dependencies_parsed_at":null,"dependency_job_id":"90be43be-c6b1-4761-9c6c-7297b6ccc17a","html_url":"https://github.com/MrRedu/metodos-array","commit_stats":null,"previous_names":["mrredu/metodos-array"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRedu%2Fmetodos-array","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRedu%2Fmetodos-array/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRedu%2Fmetodos-array/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRedu%2Fmetodos-array/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrRedu","download_url":"https://codeload.github.com/MrRedu/metodos-array/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232944524,"owners_count":18600533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arrays","javascript","methods"],"created_at":"2025-01-07T21:40:26.705Z","updated_at":"2025-01-07T21:40:27.430Z","avatar_url":"https://github.com/MrRedu.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# ¿Qué es un Array? \nColección o **agrupación de elementos de cualquier tipo en una misma variable,** cada uno de ellos ubicado con referencia a la posición que ocupa dentro del mismo. \u003cbr\u003e\n### Creación:\n```js\nconst carros = ['🚗', '🚓', '🚕', '🚐', '🚛']\n```\n### Estructura:\nLos elementos del Array, están posicionados por *index/índice,* (a esto se le llama, *Indexación basada en cero/Indexación desde cero/Zero-based indexing*) esto quiere decir que el primer elemento, tiene la posición [0].\n```js\ncarros[0] // '🚗'\ncarros[1] // '🚓'\n...\ncarros[4] // '🚛'\n```\n\n## Métodos funcionales de los Array\n\nIrónicamente comenzaremos la lista de métodos funcionales, con una propiedad *(no es un método)*. \u003cbr\u003e\n\nEsta propiedad es `.length`: Nos muestra la cantidad *(longitud del Array)* de elementos que posee dicho Array.\n```js\nconst frutas = ['🍎', '🍈', '🍓', '🍇', '🍉']\nfrutas.length // 5\n```\n\nMétodo `.toString()`: Transforma todos los elementos del Array en una cadena de texto *(string)*, separándolos con una coma (,).\n```js\nconst frutas = ['Manzana', 'Melón', 'Fresa', 'Mora', 'Sandía']\nfrutas.toString() // 'Manzana,Melón,Fresa,Mora,Sandía'\n```\n\nMétodo `.join()`: Transforma todos los elementos del Array en una cadena de texto, pero con la característica que podemos definir el caracter que divida los elementos en dicho string.\n```js\nconst frutas = ['Manzana', 'Melón', 'Fresa', 'Mora', 'Sandía']\nfrutas.join(' + ') // 'Manzana + Melón + Fresa + Mora + Sandía'\n```\n\nMétodo `.sort()`: Ordena el Array (de manera ascendente en casos muy sencillos). El orden no es necesariamente [estable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability). El modo de ordenación por defecto responde a la posición del valor del string de acuerdo a su valor Unicode.\n```js\nconst letras = ['D', 'H', 'F', 'G', 'E', 'B', 'A', 'C']\nconst numeros = [5, 428, 1, -5, 159.5, 42, 98]\n\nletras.sort()       // ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']\nnumeros.sort()      // [-5, 1, 159.5, 42, 428, 5, 98]\n```\n\nMétodo `.reverse()`: Invierte el orden de un Array. *El primer elemento pasa a ser el último, el último pasa a ser el primero.*\n```js\nconst arreglo = ['abc', 500, 'QWE', false]\narreglo.reverse() // [false, 'QWE', 500, 'abc']\n```\n\nMétodo `.concat()`: Permite juntar/concatenar dos Array.\n```js\nconst frutas = ['Melón', 'Manzana', 'Sandía', 'Piña']\nconst fruits = ['🍈', '🍎', '🍉', '🍍']\n\nfrutas.concat(fruits)  // ['Melón', 'Manzana', 'Sandía', 'Piña', '🍈', '🍎', '🍉', '🍍']\n```\n\nMétodo `.push()`: Añade uno o más elementos al final del Array. Devolviendo la nueva longitud del Array.\n```js\nconst colores = ['Amarillo', 'Magenta', 'Azul']\ncolores.push('Rosado', 'Rojo') // 5\n```\n\nMétodo `.pop()`: Elimina el último elemento del Array. Devolviendo el elemento que eliminó.\n```js\nconst colores = ['Amarillo', 'Magenta', 'Azul']\ncolores.pop() // Azul\n```\n\nMétodo `.shift()`: Elimina el primer elemento del Array. Devolviendo el elemento que eliminó.\n```js\nconst dias = ['Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo']\ndias.shift() // Lunes\n```\n\nMétodo `.unshift()`: Agrega uno o más elementos al inicio del Array. Devolviendo la nueva longitud del Array.\n```js\nconst meses = ['Marzo', 'Abril', 'Mayo']\nmeses.unshift('Enero', 'Febrero') // 5\n```\n\nMétodo `.splice()`: Cambia el contenido de un Array eliminando (o no) elementos existentes y/o agregando nuevos elementos.\n**Caso #1:**\n```js\nconst personas = ['P1', 'P2', 'P3', 'P4', 'P5']\npersonas.splice(1, 2, 'P2-B', 'P3-B') // ['P1', 'P2-B', 'P3-B', 'P4', 'P5']\n```\n- Se entiende como: \u003cbr\u003e\n\n    A partir de la posición [1] *('P2')*,\n    ```js\n    personas.splice(1... \n    ```\n    quiero reemplazar 2 elementos *('P2' y 'P3')*,\n    ```js\n    personas.splice(1, 2...\n    ```\n    por 'P2-B' y 'P3-B'\n    ```js\n    personas.splice(1, 2, 'P2-B', 'P3-B') // ['P1', 'P2-B', 'P3-B', 'P4', 'P5']\n    ```\n    \n**Caso #2:**\n```js\nconst personas = ['P1', 'P2', 'P3', 'P4', 'P5']\npersonas.splice(3, 0, 'P-KLJ', 'P-XIY') // ['P1', 'P2', 'P3', 'P-KLJ', 'P-XIY', 'P4', 'P5']\n```\n- Se entiende como: \u003cbr\u003e\n\n  A partir de la posición [3] *(P4)*,\n  ```js\n  personas.splice(3...\n  ```\n  quiero reemplazar 0 elementos,\n  ```js\n  personas.splice(3, 0...\n  ```\n  entonces añadiría `P-KLJ` y `P-XIY`\n  ```js\n  personas.splice(3, 0, 'P-KLJ', 'P-XIY') // ['P1', 'P2', 'P3', 'P-KLJ', 'P-XIY', 'P4', 'P5']\n  ```\n\nMétodo `.slice()`: Devuelve una copia de una parte del Array dentro de un nuevo Array empezando por inicio hasta fin (fin no incluido). *El array original no se modificará.*\n```js\nconst letras = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']\n             //  0,   1,   2,   3,   4,   5,   6,   7,   8  \u003c= Posiciones/índice de los elementos dentro del Array\n\n// Si no especificamos el final\nconst resultadoLetrasDos = letras.slice(2) // ['C', 'D', 'E', 'F', 'G', 'H', 'I']\n\n// Si especificamos el final\nconst resultadoLetrasTres = letras.slice(2, 5) // ['C', 'D', 'E']\n```\n\nMétodo `.includes()`: Comprueba si un valor específico está presente en el Array.\n```js\nconst array = [1, 3, 5];\narray.includes(2)      // false\narray.includes(5)      // true\n```\n\nMétodo `.some()`: Comprueba si al menos uno de los elementos dentro del Array, cumple con la condición implementada por la función proporcionada.\n```js\nconst array = [1, false, 5];\narray.some((element) =\u003e element === false)      // true\narray.some((element) =\u003e element \u003e 25)           // false\n```\n\nMétodo `.find()`: Devuelve el valor del primer elemento del Array que cumple con la condición implementada por la función proporcionada.\n```js\nconst array = [3, 8, 5];\narray.find((element) =\u003e element \u003e 1)                     // 3\narray.find((element) =\u003e element \u003e 4 \u0026\u0026 element \u003c 7)      // 5\n```\n\nMétodo `.split()`: Se utiliza para dividir una cadena de texto en un array de cadenas mediante la separación de la cadena en subcadenas. Se puede especificar un separador y un límite opcional para controlar el número de divisiones a realizar. Si se omite el separador, el array devuelto contendrá un solo elemento con la cadena completa.\n```js\nconst string = 'Esto es una cadena de texto'\nstring.split()      // [ 'Esto es una cadena de texto' ]\nstring.split('')    // [ 'E', 's', 't', 'o', ' ', 'e', 's', ' ', 'u', 'n', 'a', ' ', 'c', 'a', 'd', 'e', 'n', 'a', ' ', 'd', 'e', ' ', 't', 'e', 'x', 't', 'o' ]\nstring.split(' ')   // [ 'Esto', 'es', 'una', 'cadena', 'de', 'texto' ]\nstring.split('', 4) // [ 'E', 's', 't', 'o' ]\n```\n\nMétodo `.map()`: Retorna un nuevo Array con los resultados de la llamada a la función indicada aplicados a cada uno de sus elementos.\n```js\nconst numeros = [1, 5, 10, 15];\n\nnumeros.map((numero) =\u003e {\n  return numero * 2\n})  // [ 2, 10, 20, 30 ]\n```\n\n\u003c!-- \nESTO NO ES UN MÉTODO FUNCIONAL DE ARRAY\nMétodo `toFixed()`: En principio, convierte el número a una cadena de texto. Además, si carece de argumento; redondea al número más cercano. En caso contrario, formatea el número a la cantidad específica de dígitos después del punto decimal.\n\n```js\nlet primerNumero = 5;\nlet segundoNumero = 5.123;\nlet tercerNumero = 5.678;\n\nprimerNumero.toFixed()     // '5'\n\nsegundoNumero.toFixed()    // '5'\ntercerNumero.toFixed()     // '6'\n\nsegundoNumero.toFixed(2)   // '5.12'\ntercerNumero.toFixed(5)    // '5.67800'\n```\n--\u003e\n\n\n\u003cbr\u003e\u003cbr\u003e\n\u003cbr\u003e\u003cbr\u003e\n### 🚧 **¡En construción!** 🚧 . . . 👷🏻‍♀️🔨 . . .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrredu%2Fmetodos-array","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrredu%2Fmetodos-array","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrredu%2Fmetodos-array/lists"}