Массив.Разделите () квадратными скобками [], из книги по расширенной анимации Actionscript

StackOverflow https://stackoverflow.com/questions/1201804

Вопрос

Я пытаюсь понять, как работает этот фрагмент кода из Advanced Actionscript Кита Питера.По сути, продолжается цикл for для разделения пар ключ / значение, разделенных на :.Вот код:

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var key:String = tokens[i].split(":")[0];
    var val:String = tokens[i].split(":")[1];
    definition[key] = val;
}

А токены - это массив строк, содержащих такие значения, как:

["type:GraphicTile", "graphicClass:MapTest_Tile01"]

Чего я не могу понять, так это того, в чем значение "[0]" и "[1]".Как [1] указывает, что строка val должна содержать данные после разделения ":" (значение, например, "GraphicTile" или "MapTest_Tile01"), и [0] указывает на данные перед разделением (ключи, такие как "type" или "graphicClass").В справочнике Adobe Actionscript не перечислены какие-либо параметры, которые могут быть переданы методу Array.split с использованием квадратных скобок, подобных этой.

Это было полезно?

Решение

Метод split() возвращает массив токенов, созданных путем разделения строки.Затем этот массив индексируется с помощью [0] и [1], чтобы получить первый и второй члены.Это точно так же, как токены [i], используемые для доступа к iй элемент массива токенов.

Другие советы

ник дал правильный ответ ...

как неявно указал CookieOfFortune, код на самом деле не очень хорош ...

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var parts:Array = tokens[i].split(":");
    var key:String = parts[0];
    var val:String = parts[1];
    definition[key] = val;
}

это позволило бы избежать двойного разделения Строки ...также , возможно , это прояснит то , что происходит ...

приветствие

back2dos

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top