L'idée géniale est d'encapsuler les boucles dans une fonction.
La fonction appliquée à chaque itération est passée en paramètre.
forEach
- function forEach(t, fx) {
- for (let i = 0; i < t.length; i++) {
- fx(t[i])
- }
- }
trans
- function trans(t, fx) {
- const tmp = [];
- for (let i = 0; i < t.length; i++) {
- tmp[i] = fx(t[i])
- }
- return tmp;
- }
filter
- function filter(t, fx) {
- const tmp = [];
- for (let i = 0; i < t.length; i++) {
- if (fx(t[i])) {
- tmp.push(t[i]);
- }
- }
- return tmp;
- }
En action :
💥lien