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 : 12. Dec 2024, 22:41:59
Autres entêtes
Organisation : There's no cabale
Message-ID : <vjflb7$114q$1@cabale.usenet-fr.net>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 12/12/2024 14:42, je répondais à Thierry Loiseau :
Bonjour Thuerry,

Oups ! Désolé, je ne m'étais pas relu. Le i et le u sont côte à côte sur
mon clavier.

a['null'] = 'null'
 
Rien que la dernière écriture est fausse :)
 
Qu'est-ce que cela veut dire, qu'une écriture est « fausse » ?

J'aimerais sincèrement comprendre ce que tu voulais dire par là. Peut-être
que tu as raison mais je ne pourrai le savoir que quand je comprendrai ta
remarque.

Mes essais montraient les choses suivantes.
 
Premièrement, que peu importe si l'on met comme index un entier, un mot-clé
ou une chaîne de caractères, il est interprété puis devient une chaîne de
caractères (par exemple 1/0 devient la chaine de caractères 'Infinity', ou
null la chaine de caractères 'null').
 
Deuxièmement, que si cette chaîne de caractères représente un nombre entre
'0' et '4294967294', alors quand on relit le tableau cela se comporte comme
si on avait vraiment un tableau indexé par un entier entre 0 et 4294967294,
alors que pour tout le reste (nombres ou pas) cela se comporte comme un
tableau associatif.

Je viens de refaire un essai dans nodejs, qui confirme ces deux premiers points.

Troisièmement, que dans ce tableau associatif, les chaines qui représentent
un mot-clé tel que 'null' ou 'Infinity' sont affichées comme s'il s'agissait
bien de la valeur null ou Infinity plutôt que comme la chaine de caractères
'null' ou 'Infinity'.

En ce qui concerne ce troisième point en revanche, c'était peut-être un effet de
bord du testeur de JS en ligne que j'avais utilisé (et que malheureusement je ne
retrouve pas).

Voici donc mon nouvel essai, en ligne de commande dans nodejs. Pour que le
prompt de nodejs ne soit pas confondu par les nouvelleurs avec un chevron
de citation, je remplace tous les prompts « > » par « @> ».

========================================
@> a = []
[]
@> index = 1
1
@> a[4294967297] = index++
1
@> a[1] = index++
2
@> a[-1] = index++
3
@> a[4294967295] = index++
4
@> a[3] = index++
5
@> a[-3] = index++
6
@> a[null] = index++
7
@> a[2] = index++
8
@> a[-2] = index++
9
@> a[4294967296] = index++
10
@> a[false] = index++
11
@> a[4294967294] = index++
12
@> a[1/0] = index++
13
@> a[4294967293] = index++
14
@> a['true'] = index++
15
@> a
[ <1 empty item>,
  2,
  8,
  5,
  <4294967289 empty items>,
  14,
  12,
  '4294967297': 1,
  '-1': 3,
  '4294967295': 4,
  '-3': 6,
  null: 7,
  '-2': 9,
  '4294967296': 10,
  false: 11,
  Infinity: 13,
  true: 15 ]
@>
========================================

Ce test montre bien que, quel que soit l'ordre dans lequel je mette une
entrée utilisant comme clé un entier entre 0 et 4294967294 (2**32-2),
celle-ci se place au début avec des « empty items » signalés entre toutes
ces valeurs. Et qu'au contraire tout ce qui n'est pas un entier entre 0
et 2**32-2 se trouve relégué à la fin, dans l'ordre où je les ai insérés
dans le tableau.


--
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