Filter su funzioni
importanza: 5
Abbiamo a disposizione un metodo integrato arr.filter(f)
per gli array. Questo filtra tutti gli elementi attraverso la funzione f
. Se ritorna true
, allora quell’elemento viene ritornato.
Create un insieme di filtri “pronti all’uso”:
inBetween(a, b)
– traa
eb
o uguale.inArray([...])
– contenuto nell’array.
Il loro utilizzo dovrebbe essere:
arr.filter(inBetween(3,6))
– seleziona solo i valori compresi tra 3 e 6.arr.filter(inArray([1,2,3]))
– seleziona solo gli elementi che corrispondono a[1,2,3]
.
Ad esempio:
/* .. your code for inBetween and inArray */
let
arr =
[
1
,
2
,
3
,
4
,
5
,
6
,
7
]
;
alert
(
arr.
filter
(
inBetween
(
3
,
6
)
)
)
;
// 3,4,5,6
alert
(
arr.
filter
(
inArray
(
[
1
,
2
,
10
]
)
)
)
;
// 1,2
Filter inBetween
function
inBetween
(
a,
b
)
{
return
function
(
x
)
{
return
x >=
a &&
x <=
b;
}
;
}
let
arr =
[
1
,
2
,
3
,
4
,
5
,
6
,
7
]
;
alert
(
arr.
filter
(
inBetween
(
3
,
6
)
)
)
;
// 3,4,5,6
Filter inArray
function
inArray
(
arr
)
{
return
function
(
x
)
{
return
arr.
includes
(
x)
;
}
;
}
let
arr =
[
1
,
2
,
3
,
4
,
5
,
6
,
7
]
;
alert
(
arr.
filter
(
inArray
(
[
1
,
2
,
10
]
)
)
)
;
// 1,2
function
inArray
(
arr
)
{
return
x
=>
arr.
includes
(
x)
;
}
function
inBetween
(
a,
b
)
{
return
x
=>
(
x >=
a &&
x <=
b)
;
}