Просмотр полной версии : проблемы с splice
вот кусочек кода:
var indexMIN:int
var MAX_WC:Number = new Number
var MAX_storeroom:Number = new Number
var styles_50x50:Array = ["WC", "storeroom", "passage"]
if (MAX_WC == 2)
{
trace ("НЕТ")
indexMIN = styles_50x50.indexOf("WC");
styles_50x50.splice (indexMIN,1)
MAX_WC = 0
}
if (MAX_storeroom == 2)
{
trace ("НЕТ")
indexMIN = styles_50x50.indexOf("storeroom");
styles_50x50.splice (indexMIN,1)
MAX_storeroom = 0
}
почему не storeroom не удаляется?
Ну очевидно потому что MAX_WC != 2, а MAX_storeroom != 2
var indexMIN:int
var MAX_WC:Number = 2
var MAX_storeroom:Number = 2
var styles_50x50:Array = ["WC", "storeroom", "passage"]
if (MAX_WC == 2)
{
trace ("НЕТ")
indexMIN = styles_50x50.indexOf("WC");
styles_50x50.splice (indexMIN,1)
MAX_WC = 0
}
if (MAX_storeroom == 2)
{
trace ("НЕТ")
indexMIN = styles_50x50.indexOf("storeroom");
styles_50x50.splice (indexMIN,1)
MAX_storeroom = 0
}
Ну очевидно потому что MAX_WC != 2, а MAX_storeroom != 2
в смысле? не понял.
var MAX_WC:Number = new Number
var MAX_storeroom:Number = new Number
Почему Вы решили, что они равны 2?
я не показал тот кусочек кода который прибавляет к ним 1
bifidokk
25.12.2012, 15:29
если сократить ваш код до такого вида:
var styles_50x50:Array = ["WC", "storeroom", "passage"];
var indexMIN:int;
indexMIN = styles_50x50.indexOf("WC");
styles_50x50.splice (indexMIN,1);
ObjectTracer.traceRecursive(styles_50x50);
indexMIN = styles_50x50.indexOf("storeroom");
styles_50x50.splice (indexMIN,1);
ObjectTracer.traceRecursive(styles_50x50);
то в итоге все отлично удаляется:
<object> storeroom,passage
[trace] 0: storeroom (string)
[trace] 1: passage (string)
[trace] </object>
[trace] <object> passage
[trace] 0: passage (string)
[trace] </object>
так что скорее всего у вас просто не заходит в условие, т.к. ваш инкремент, который вы не указали, работает неправильно.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.