如何從as3中的數組中刪除重複值?說,如果我有一個數組= [1,1,2,2,4,5] 我想有其結果作爲數組= [1,2,4,5]如何刪除數組flex中的重複值?
回答
var a:Array = ["Tom", "John", "Susan", "Marie", "Tom", "John", "Tom", "Eva"];
a.sort();
var i:int = 0;
while(i < a.length) {
while(i < a.length+1 && a[i] == a[i+1]) {
a.splice(i, 1);
}
i++;
}
如可以是看到here
試着這麼做:
var array:Array = [1,1,2,2,4,5];
trace(array);
trace(removeDuplicates(array));
function removeDuplicates(inArray:Array):Array
{
return inArray.filter(removeDuplicatesFilter);
}
function removeDuplicatesFilter(e:*, i:int, inArray:Array):Boolean
{
return (i == 0) ? true : inArray.lastIndexOf(e, i - 1) == -1;
}
另外,我建議你創建一個類,並實現這些靜態方法類似。
public class ArrayUtils
{
public static function removeDuplicates(inArray:Array):Array
{
return inArray.filter(_removeDuplicatesFilter);
}
protected static function _removeDuplicatesFilter(e:*, i:int, inArray:Array):Boolean
{
return (i == 0) ? true : inArray.lastIndexOf(e, i - 1) == -1;
}
}
而且使用像:
var array:Array = [1,1,2,2,4,5];
trace(ArrayUtils.removeDuplicates(array));
感謝這看起來簡潔而不使用任何字典類。 –
@ashok_khuman你非常歡迎!希望有可能以某種方式幫助。 – gabriel
使用Underscore.as!
https://github.com/amacdougall/underscore.as
import com.amacdougall.underscore.*;
_.uniq([1,1,2,2,4,5);
// 1,2,4,5
感謝您選擇 –
另一種選擇是使用散列圖/ Dictionary像這樣:
import flash.utils.Dictionary;
var a:Array = ["Tom", "John", "Susan", "Marie", "Tom", "John", "Tom", "Eva"];
var b:Dictionary = new Dictionary(true);//has map/cannot have duplicate keys
var c:Array = [];//filtered/unique entries array
for(var i:int = 0; i < a.length; i++) b[a[i]] = i;//hash array entries
for(var key:String in b) c.push(key);//put them back into an array
b = null;//clear/release the hash map
trace(c);//traces: Tom Eva John Susan Marie
感謝您使用Dictionary類的建議。 –
private function removeDuplicatesInCollection(collection:ArrayCollection):Array{
var dic:Dictionary = new Dictionary();
for each (var item:MyObject in collection){
var key: Object = new Object();
key.network = item.network;
key.day = item.day;
key.date = item.date;
key.time =item.time;
key.cost = item.cost;
dic[JSON.stringify(key)] = item ;
}
return DictionaryUtil.getValues(dic) ;
}
- 1. 從數組中刪除重複的值
- 2. 如何刪除MongoDB中文檔中數組中的重複值?
- 3. 如何從PHP中的數組中刪除重複值?
- 4. 如何刪除數組中的重複值Angular 2
- 5. 如何刪除數組中的重複值actionscript3
- 6. 如何刪除數組中的重複值?
- 7. 如何刪除數組中的一個重複值?
- 8. 如何在jQuery的數組中刪除部分重複值
- 9. 如何刪除多維數組中特定鍵的重複值?
- 10. 如何刪除重複值
- 11. 如何刪除HashSet中的重複值
- 12. 如何刪除PHP中的重複值?
- 13. 如何刪除表中的重複值
- 14. 排列數組並刪除重複值
- 15. 數組合並和刪除重複值
- 16. 如何從多維數組中刪除重複值?
- 17. 如何從數組中刪除重複值?
- 18. 從數組列表中刪除重複的數組值
- 19. 如何從元組中刪除重複
- 20. 如何使用jQuery刪除數組中和數組之間的重複值
- 21. PHP - 如何比較兩個數組並刪除重複的值
- 22. 刪除重複數組項
- 23. 如何在PHP中重新刪除多維數組中的重複值
- 24. 如果重複從數組中刪除多維元素的值?
- 25. 刪除數組中的重複項(C++)
- 26. php刪除數組中的重複項
- 27. 刪除數組中的重複項
- 28. 刪除數組中的重複鍵
- 29. C#中的數組重複刪除
- 30. 刪除PHP數組中的重複項
感謝這個選項 –