Каков наилучший способ перебора массива в Classic Asp VBScript?

Есть веская причина НЕ ИСПОЛЬЗОВАТЬ For i = LBound(arr) To UBound(arr)

dim arr(10) выделяет character-arrays одиннадцать элементов массива, от vbs 0 до 10 (при условии, что arrays база опций VB6 по умолчанию).

Многие javascript-array программисты VB6 предполагают, что vbscript массив основан на единице, и array никогда не используют выделенные asp-classic arr(0). Мы можем удалить потенциальный static-array источник ошибки, используя asp For i = 1 To UBound(arr) или For i = 0 To UBound(arr), потому что тогда будет bytearray ясно, используется ли arr(0).

For each создает vbs копию каждого элемента массива, а asp не указателя.

У этого есть jsonarray две проблемы.

  1. Когда мы пытаемся classic-asp присвоить значение элементу swift-array массива, это не отражается swift-array на оригинале. Этот код присваивает static-array значение 47 переменной i, но arrays не влияет на элементы arr.

    arr = Array(3,4,8)
    for each i in arr
         i = 47
    next i
    Response.Write arr(0) '- returns 3, not 47
  2. Мы jsonarray не знаем индекса элемента vbscript массива в for each, и нам не гарантируется bytearray последовательность элементов javascript-array (хотя она вроде бы в порядке).

arrays

asp-classic

vbscript

2022-10-13T17:57:31+00:00