Posté le: 13 Juin 2010, 21:38
Re: array.filterG-Raph :
> Il me semble, mais peut-être ai-je manqué un épisode, que cette
> méthode comporte un bug :
>
> [0, 491, 1083, 1574, 2166, 2657, 3249, 3740, 4332, 4823, 5415, 5906,
> 6498, 6989, 7581].filter(function(el, index){
> if(index % 2 == 0 || index == 0)
> return el;
> });
>
> renvoie : [1574, 2166, 3740, 4332, 5906, 6498]
> ou est passé mon "0" ?
La fonction en callback d'un filter doit retourner *true* ou *false*.
Puisque tu retournes "el", quand ce "el" est "0" tu retournes en fait
"false" donc tes zéros ne seront jamais dans ton résultat.
[
0, 491, 1083, 1574, 2166, 2657,
3249, 3740, 4332, 4823, 5415,
5906, 6498, 6989, 7581
].filter(function(el, index)
{
if ( index % 2 == 0 || index == 0 )
{
return true;
}
}
);
deviendra :
[0,1083,2166,3249,4332,5415,6498,7581]
--
laurent