Iterar elementos de una matriz sin bucles
Last updated: 28.08.2025
Views: 193
Los ejemplos son muy abstractos debido a que hay ciclos. Nuestra condición será la siguiente: es necesario seleccionar todos los elementos del array mediante un atributo dado. O, dicho de forma más precisa, es necesario filtrar el array. Existen varias soluciones.
La opción más adecuada en PHP es usar la función integrada array_filter(). Imaginemos que esta tampoco existe. La escribimos mediante recursión.
En PHP, la función se ve así:
PHP
function getArrayElements($arr, $pattern) {
static $i = 0;
static $arrayResult = [];
if (preg_match($pattern, $arr[$i])) {
$arrayResult[] = $arr[$i];
}
$i++;
if (count($arr) == $i) {
return;
} else {
getArrayElements($arr, $pattern);
}
return $arrayResult;
}
Ejemplo:
PHP
$arr = ['a', 'xd', 'w', 1, 'y', 'x']; $pattern = '/^x/'; print_r(getArrayElements($arr, $pattern)); // Array ( [0] => xd [1] => x )
Ahora veamos lo mismo en JavaScript. En JS, un array tiene un método filter() similar. Intentemos prescindir de él y usar la recursión.
JavaScript
let i = 0,
arrayResult = [];
function getArrayElements(arr, pattern) {
if (pattern.test(arr[i])) {
arrayResult.push(arr[i]);
}
i++;
if (arr.length == i) {
return;
} else {
getArrayElements(arr, pattern);
}
return arrayResult;
}
Ejemplo:
JavaScript
const arr = ['a', 'xd', 'w', 1, 'y', 'x'],
pattern = /^x/;
console.log(getArrayElements(arr, pattern)); //["xd", "x"]
Publicaciones similares:
-
Cómo enviar datos de formulario HTML a un correo electrónico usando PHP
Enviar un formulario por correo electrónico es una forma importante y habitual de comunicarse con un usuario de un recurso web. Escribamos un formulario simple para envia...
-
Corrección de la URL de la imagen en ACF (Advanced Custom Fields)
El plugin ACF (Advanced Custom Fields) es una herramienta excelente y práctica para ampliar la funcionalidad de WordPress. ACF te permite añadir campos personalizados al ...
-
Cómo eliminar el script jQuery Migrate de WordPress
Si tu proyecto de WordPress usa jQuery, WordPress también carga el script jQuery Migrate por defecto. En el 99 % de los casos, no necesitas este script. jQuery Migrate re...
Leave a Reply