2013-06-19 3 views
-1

нужно иметь дублированный значение из массива и получить код ниже, работает хорошо, но в AS3Actionscript: Преобразование функции из AS3 в AS2

Пожалуйста, может кто-то преобразовать этот AS3 код AS2? Код

var array:Array = [1,2,3,4,3]; 

// create a dictionary and go through our array, pulling out the values 
var dict:Dictionary = new Dictionary(); 
var len:int   = array.length; 
for(var i:int = 0; i < len; i++) 
{ 
    var val:int = array[i]; // get the value from the array 
    if(!(val in dict)) // if it's not in our dictionary, create a new array 
     dict[val] = []; 
    dict[val].push(i); // add the index of the value to the array 
} 

// now go through our dictionary, finding the duplications 
for(var key:* in dict) 
{ 
    var indicies:Array = dict[key]; 
    if(indicies.length <= 1) 
     continue; // single value - ignore 
    trace("The value " + key + " is repeated " + indicies.length + " times. Indicies: " + indicies); 
} 
  • ошибки:

  • Sequence = ПОСЛЕДОВАТЕЛЬНОСТЬ 1, слой = калька 1, рамка = 1, 2 Ligne невыполним де ли зарядное устройство Classe НУ l'интерфейс 'Словарь'.

  • Séquence = Séquence 1, layer = Calque 1, frame = 1, ligne 3 Невозможное зарядное устройство la classe ou l'interface 'int'.

  • Séquence = Séquence 1, layer = Calque 1, frame = 1, ligne 4 Невозможное зарядное устройство la classe ou l'interface 'int'.

  • Séquence = Séquence 1, layer = Calque 1, frame = 1, ligne 6 Невозможное зарядное устройство la classe ou l'interface 'int'.

  • Sequence = ПОСЛЕДОВАТЕЛЬНОСТЬ 1, слой = калька 1, рамка = 1, Ligne 7 ')' attendu

  • Sequence = ПОСЛЕДОВАТЕЛЬНОСТЬ 1, слой = калька 1, рамка = 1, Ligne 10 '}' inattendu
+0

Да, ошибка находится в главном сообщении –

ответ

0

Как насчет:

var array:Array = [1,2,3,4,3]; 
var obj:Object = new Object(); 

for(var i:int = 0; i < array.length; i++) 
{ 
    if(obj[ array[i]] === undefined) 
    { 
     obj[ array[ i ]] = i; 
    } 
    else trace("the value " + array[i] + " from location " + obj[ array[ i ]] + " is repeated at location " + i); 
} 

(Это просто п-кода у меня нет компилятора передо мной.).

Что вы тусклый t сделать с результатом?

+0

Спасибо, но как узнать, где в массиве значение повторяется? –

+0

Отредактировано для включения ссылки на место повторения – ethrbunny

+0

результат: значение 3 повторяется в местоположении 4, но оно должно повторяться в местоположении 2 и 4 –

Смежные вопросы