-1

需要从数组中获取重复值,并获取下面的代码,但在 AS3 中运行良好

请问有人可以将此 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 );
}
  • 错误代码:

  • Séquence=Séquence 1, layer=Calque 1, frame=1, ligne 2 Impossible de Charger la classe ou l'interface 'Dictionary'。

  • Séquence=Séquence 1, layer=Calque 1, frame=1, ligne 3 Impossible de Charger la classe ou l'interface 'int'。

  • Séquence=Séquence 1, layer=Calque 1, frame=1, ligne 4 Impossible de Charger la classe ou l'interface 'int'。

  • Séquence=Séquence 1, layer=Calque 1, frame=1, ligne 6 Impossible de Charger la classe ou l'interface 'int'。

  • Séquence=Séquence 1, layer=Calque 1, frame=1 , ligne 7 ')' 参加

  • Séquence=Séquence 1, layer=Calque 1, frame=1 , ligne 10 '}' inattendu
4

1 回答 1

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 );
}

(这只是 p 代码。我面前没有编译器。)

你想对结果做什么?

于 2013-06-19T14:11:54.067 回答