Acknowledged
over 1 year ago

accessing dictionary data is not consistent

this code (I can't reproduce real error on sim or my watch, so snippet)

var d = {0 => "t"), x;

x = d[1];

on some devices causes Array Out Of Bounds Error but

x = d.get(1);

returns null, as is expected.

Error Name: Array Out Of Bounds Error

Occurrences: 20

First Occurrence: 2023-12-10

Last Occurrence: 2023-12-10

Devices:

Venu® Sq. Music Edition: 4.90

fēnix® 6 Pro / 6 Sapphire / 6 Pro Solar / 6 Pro Dual Power / quatix® 6: 26.00

fēnix® 5 Plus: 19.30

Forerunner® 945: 13.00

Forerunner® 945: 13.00

App Versions: 8.6.0

Languages: chs, eng, ita, jpn, spa

Error Name: Array Out Of Bounds Error

Occurrences: 10

First Occurrence: 2023-12-10

Last Occurrence: 2023-12-10

Devices:

Upcoming Wearable: 15.21

Forerunner® 955 / Solar: 17.26

App Versions: 8.6.0

Languages: eng, jpn

Parents Comment Children
  • Indeed because it’s an associative array

    You could basically consider it an array of keys and an array of values.  Search for key in first array, then use matching index in second array to pull up the value for that key.