如何总结数组的值?如果我跟踪我的数组,那么这是输出(我找不到PHP的print_r函数的actionscript):
for(var k:int=0; k<tempAC.length; k++){
trace(tempAC[k].name);
trace(tempAC[k].value);
trace('-----------');
}
__OUTPUT__
Bob
3
-----------
Mary
5
-----------
Bob
12
-----------
Mary
1
如何构建一个总结Bob&amp;玛丽各自的价值观? 即输出将是:
Bob
15
------------
Mary
6
------------
我有(我尝试+ =对值进行求和):
for(var k:int=0; k<tempAC.length; k++){
newAC['name']=tempAC[k].name;
newAC['value']+=tempAC[k].value;
}
答案 0 :(得分:0)
for(var k:int=0; k<tempAC.length; k++){
newAC[tempAC[k].name]+=tempAC[k].value;
}
这样你就可以分别对每个名字求和,无论你有多少名字。
要查看输出:
(什么是你的打印方法,我称之为echo
)
echo newAC['THE NAME YOU WANT'];
b.t.w我不知道Flash,但概念很好,语法(echo
除外)也很好。
答案 1 :(得分:0)
看看创建Associative Array with a String Key。阅读文章,它应该让你开始。
答案 2 :(得分:0)
var tempAC:Array = [
{name: "Bob", value: 3},
{name: "Mary", value: 5},
{name: "Bob", value: 12},
{name: "Mary", value: 1}
];
/**
* Combines values in objects that have identical names
* @param ar The array to assess
*/
function combine(ar:Array):Array
{
var hold:Array = [];
var back:Array = [];
var i:Object;
for each(i in ar)
{
if(!hold[i.name]) hold[i.name] = i.value;
else hold[i.name] += i.value;
}
var j:String;
for(j in hold)
{
back.push({name: j, value: hold[j]});
}
return back;
}
var list:Array = combine(tempAC);
var i:Object;
for each(i in list)
{
trace(i.name + ": " + i.value);
}
Output:
Bob: 15
Mary: 6