Наткнулся в интернете на код на actionscript 3, позволяющий удалять повторяющиеся значений из массива (код удаляет все найденные дубликаты, трипликаты и тд).
Код полезен и интересен тем, что показывается использование довольно новой функции array.some(), но недостатком является то, что не зная эту функцию сложно понять его работу. Этот же код можно переписать более просто и понятно.
Смысл работы прост - проверяем в цикле есть ли уже такое значение в нашем новом массиве, и если нет добавляем.
Код для удаления дубликатов из массива на actionscript3 для flash
package
{
import flash.display.Sprite;
/**
* ...
* @author andrew
*/
public class Test extends Sprite
{
public function Test()
{
var originalArray:Array = new Array("yellow", "red", "blue", "red", "yellow", "green", "yellow", "purple", "ginger", "red", "blue");
var dedupedArray:Array = new Array();
function ArrayProcess()
{
for each (var item:String in originalArray)
{
if (dedupedArray.indexOf(item)===-1)
{
dedupedArray.push(item);
}
}
trace("dedupedArray: "+dedupedArray);
}
ArrayProcess();
}
}
}
Полезная штука, буду пользовать :)
ОтветитьУдалитьСимпатичный блог ;)