Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.comp.lang.javascript Subject: Re: Indexation des tableaux en js Date: Sun, 10 Nov 2024 11:42:52 +0100 Organization: There's no cabale Lines: 52 Message-ID: References: <672bcce0$0$28508$426a74cc@news.free.fr> <672ce7d7$0$12934$426a74cc@news.free.fr> <672ea1f1$0$16817$426a34cc@news.free.fr> <6730844c$0$424$426a74cc@news.free.fr> NNTP-Posting-Host: 200.89.28.93.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1731235372 78889 93.28.89.200 (10 Nov 2024 10:42:52 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Sun, 10 Nov 2024 10:42:52 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: Bytes: 2891 Le 10/11/2024 11:30, j'écrivais : > > 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 ] Bon, je me suis laissé avoir par l'affichage sur . En réalité, tout index, qu'il soit fourni sous forme de nombre ou sous toute autre forme, par exemple une chaine de caractères : − est transformé en nombre s'il peut représenter un nombre entre 0 et 2^32-2 ; − est transformé en chaine de caractères dans tous les autres cas. La preuve : a[0] = 0 a['0'] = '0' a[4294967294] = 4294967294 a['4294967294'] = '4294967294' a[true] = 1 a['true'] = 'true' a[null] = 0 a['null'] = 'null' a[false] = -1 a['false'] = 'false' a[NaN] = 42 a['NaN'] = 'NaN' a[1/0] = 1/0 a['Infinity'] = '+∞' a[-1/0] = -1/0 a['-Infinity'] = '−∞' Résultat : [ '0', <4294967293 empty items>, '4294967294', \\ nombres entre 0 et 4294967294 true: 'true', null: 'null', false: 'false', NaN: 'NaN', \\ autres Infinity: '+∞', '-Infinity': '−∞' ] \\ autres -- Olivier Miakinen