在二維數組重複數據的數量有一個數據如下:我如何跟蹤在柔性
Chennai 11 10
Mumbai 12 20
Mumbai 22 40
Calcutta 4 35
Calcutta 3 50
Chennai 13 45
Calcutta 4 55
Mumbai 5 50
我需要一個數組賦予金奈:2孟買:3加爾各答:3。
如何得到它?
在二維數組重複數據的數量有一個數據如下:我如何跟蹤在柔性
Chennai 11 10
Mumbai 12 20
Mumbai 22 40
Calcutta 4 35
Calcutta 3 50
Chennai 13 45
Calcutta 4 55
Mumbai 5 50
我需要一個數組賦予金奈:2孟買:3加爾各答:3。
如何得到它?
循環數據;並將其保存爲關聯數組。我會用字典。從概念上講,這樣的:
var dict :Dictionary = new Dictionary();
for (var x:int; x<your2DArray.length;x++){
var stringToExamine :String = your2DArray[x][1];
if(dict.hasOwnProperty(stringToExamine)){
dict[stringToExamine] ++;
} else {
dict[stringToExamine] = 1;
}
}
現在你說你想這是一個數組,所以你必須要Dictionary對象轉換爲數組莫名其妙。推測是另一個二維陣列。
var newArray :Array = new Array();
var counter :int = 0;
for each (var key :String in dict)
{
newArray[counter] = [key,dict[key]];
counter++;
}
我在瀏覽器中寫了這段代碼;所以它可能有問題。但是,算法應該是穩定的。
你可以在沒有使用字典概念的情況下幫助我嗎?我嘗試了上面的代碼,但無法獲得輸出結果,也不熟悉字典概念。 – Flexiflex
閱讀關於詞典這裏:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Dictionary.html和聯想陣列:http://help.adobe.com/en_US/as3 /dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7eea.html。我看不到一個簡單的方法來完成你的任務,而不使用字典。 – JeffryHouser
我需要詳細瞭解字典的概念。我把這些文檔和搜索的例子,但沒有找到太多可以理解的。感謝上述答案。我一定會了解上述概念。 – Flexiflex
第一步是從二維數組的第一列開始構建一維數組(下面的例子中爲「arr」)。 第二步是形成另一個新的單維數組去除重複項(下面例子中的「重複項」)。 第三步是在比較兩個數組數據時遞增一個整數變量,如下所示,最後將整數變量推送到另一個新數組中。
讓我有以下陣列:
private var arr:Array = new Array('Chennai',
'Mumbai',
'Mumbai',
'Calcutta',
'Calcutta',
'Chennai',
'Calcutta',
'Mumbai',
'Kerala',
'Kerala',
'Kerala',
'Kerala',
'US');
private var dupe:Array = new Array('Chennai',
'Mumbai',
'Calcutta',
'Kerala',
'US');
var aNewArr:Array = new Array(new Array());
var repeatedFinalArray:Array = new Array();
for(var a:int=0; a<dupe.length;a++)
{
var count:int=0;
for(var j:int=0;j<arr.length;j++)
{
if(dupe[a]==arr[j])
{
count++;
}
}
aNewArr.push([dupe[a]],[count]);
repeatedFinalArray.push(count);
}
The output of aNewArr will have:
Chennai,2,Mumbai,3,Calcutta,3,Kerala,4,US,1
and
repeatedFinalArray will have jus the counts : 2,3,3,4,1
你嘗試過什麼?什麼是你的底層ActionScript結構?你是使用Struct還是一個數組Array?據我所知,沒有簡單的函數來解析數組並查找重複項。 – JeffryHouser
@ Reboog711上述數據是2D數組,我需要重複計數。 – Flexiflex