簡體   English   中英

ActionScript 3-使用關聯數組對事件進行計數

[英]ActionScript 3 - Using Associative Array to count occurrences

大家好,在許多編程語言中都有一個很棒的習慣用法,可讓您使用散列來計數項目的出現。 例如,在Perl中,假設您有一個學生列表,並且想查看每個名字中有多少(2個鮑勃,1個傑里米,22個艾丹等):

my %uniqueNames;
for (@studentNames){ $uniqueNames{$_}++; }

# print it out
for (keys %uniqueNames){ print "$_ : $uniqueNames{$_}\n"; }

因此,您當然可以在ActionScript 3中使用對象來執行此操作。

問題是NaN。 如果您嘗試同時自動創建和自動增加密鑰,則會得到NaN,並且整個過程都會崩潰。

當然,您可以使用條件測試該密鑰是否存在,然后對其進行自動遞增,如果不存在,則將其設置為一個,但這很丑陋。

studentNames[name] = studentNames[name] ? studentNames[name] + 1 : 1; // shudder

AS3的正確用法是什么? 有成語嗎? 你是成語。 -T

您的答案是正確的,但是您可以用更短的方法做同樣的事情:

studentNames[name] = (studentNames[name] || 0) + 1; 

沒錯,這是成語。 認真地說,您所做的一切都很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM