Re: Indexation des tableaux en js

Liste des GroupesRevenir à fcl javascript 
Sujet : Re: Indexation des tableaux en js
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.javascript
Date : 10. Nov 2024, 11:30:22
Autres entêtes
Organisation : There's no cabale
Message-ID : <vgq1vu$2cnv$1@cabale.usenet-fr.net>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 10/11/2024 11:00, Thomas Alexandre a écrit :
Le Sat, 9 Nov 2024 13:01:25 +0100, Olivier Miakinen a écrit :
 
Je reviens à JavaScript. Les indices de tableaux n'y sont *pas* des
nombres réels ! Même si les nombres entiers sont codés selon la norme
IEEE 754 qui peut *aussi* coder des nombres non entiers, seuls les
entiers sont utilisés comme indices de tableaux. Je crois même (mais
c'est à vérifier) que seuls les entiers positifs entre 0 et 2^32−1 sont
autorisés comme index. Donc pas 3,14, ni −2, ni 2^42.

J'avais déjà remarqué dans une de mes réponses sur fr.sci.maths que les
nombres non entiers, ou inférieurs à 0, ou supérieurs à 2^32−2, étaient
remplacés par la chaine de caractères qui les représente.

Alors si et c'est même bien pire que ça :
 
```js
let a = []
a[Math.PI] = 3.14
a[-Math.PI] = -3.14
a["π"] = 3.14
a[true] = 1
a[null] = 0
a[false] = -1
a[NaN] = 42
console.log(a)
```

Résultat :
[ '3.141592653589793': 3.14, '-3.141592653589793': -3.14, 'π': 3.14, true: 1,
null: 0, false: -1, NaN: 42 ]

Cela confirme ce que je disais pour les nombres. Mais je vois que null, true,
false et NaN ne sont pas transformés. C'est encore plus drôle avec +∞ et −∞
car seul le second est transformé en chaine de caractères.

a[4294967294] = 4294967294
a[4294967295] = 4294967295
a[true] = 1
a[null] = 0
a[false] = -1
a[NaN] = 42
a[1/0] = 1/0
a[-1/0] = -1/0

Résultat :
[ <4294967294 empty items>, 4294967294, '4294967295': 4294967295, true: 1, null:
0, false: -1, NaN: 42, Infinity: Infinity, '-Infinity': -Infinity ]


--
Olivier Miakinen

Date Sujet#  Auteur
10 Nov 24 * Indexation des tableaux en js (was: Re: Le calcul de la racine carré... pour des nuls :))20Thomas Alexandre
10 Nov 24 +* Re: Indexation des tableaux en js10Olivier Miakinen
10 Nov 24 i`* Re: Indexation des tableaux en js9Olivier Miakinen
10 Nov 24 i +* Re: Indexation des tableaux en js3Olivier Miakinen
10 Nov 24 i i`* Re: Indexation des tableaux en js2Thomas Alexandre
10 Nov 24 i i `- Re: Indexation des tableaux en js1Olivier Miakinen
11 Dec 24 i `* Re: Indexation des tableaux en js5Thierry Loiseau
12 Dec 24 i  `* Re: Indexation des tableaux en js4Olivier Miakinen
12 Dec 24 i   `* Re: Indexation des tableaux en js3Olivier Miakinen
13 Dec 24 i    `* Re: Indexation des tableaux en js2Thomas Alexandre
13 Dec 24 i     `- Re: Indexation des tableaux en js1Olivier Miakinen
10 Nov 24 +- Re: Indexation des tableaux en js1Samuel Devulder
30 Nov 24 +* Re: Indexation des tableaux en js (was: Re: Le calcul de la racine carré... pour des nuls :))6Jo Engo
9 Dec 24 i`* Re: Indexation des tableaux en js (was: Re: Le calcul de la racine carré... pour des nuls :))5Thomas Alexandre
9 Dec 24 i `* Re: Indexation des tableaux en js4Jo Engo
12 Dec 24 i  `* Re: Indexation des tableaux en js3Thomas Alexandre
14 Dec 24 i   `* Re: Indexation des tableaux en js2Jo Engo
16 Dec 24 i    `- Re: Indexation des tableaux en js1Thomas Alexandre
3 Dec 24 `* Re: Indexation des tableaux en js2Thierry Loiseau
9 Dec 24  `- Re: Indexation des tableaux en js1Thomas Alexandre

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal