AS3 / Flash:数组转换(两个问题)

时间:2013-09-04 07:01:32

标签: arrays actionscript-3 sorting duplicate-removal

1)我有这个数组:

var n:Array = ["JAMES", "JANE", "JAMEL"...];

我需要转移到这个:

var nt:Array = [{label:"JAMES"}, {label:"JANE"}, {label:"JAMEL"}...];

2)是否可以在:

中排序和删除重复的名称
var n:Array = [{label:"JAMES"}, {label:"JANE"}, {label:"JAMEL"}, {label:"JANE"},...];

提前致谢。

1 个答案:

答案 0 :(得分:0)

var initialArray: Array = ["JAMES", "JANE", "JAMEL", "JANE", "JAMEL"];
var resultingArray: Array = [];
//Sorting array
initialArray.sort();
//Removing duplicates
var i: int = 0;
while (i < initialArray.length) {
    while (i < initialArray.length + 1 && initialArray[i] == initialArray[i + 1]) {
        initialArray.splice(i, 1);
    }
    i++;
}
//Converting
for each(var elem: Object in initialArray) {
    var currentObject: Object = new Object();
    currentObject.label = elem;
    resultingArray.push(currentObject);
}

然后,您可以使用resulArray

您可能还想使用原始for或while循环,它可能会提高这段代码的速度。