所以,我让JSON以这种格式返回:
{
"CC" : 23,
"CT" : 36,
"TT" : 12,
}
我需要计算这里有多少个C和多少个T.例如,上面有82个C(2 * 23 + 1 * 36)和60个T。然后将它们存储在一个新对象(或数组?)中,如:
{
"C" : 82,
"T" : 60,
}
请记住,所涉及的字母是可变的,但总是只有两个,并且采用以下格式:AA,AB,BB。或者甚至可能更好,将键:值对放在一个数组中(因为它们用于制作条形图)。
(对于生物学家,是的,计算来自基因型的等位基因频率。)
答案 0 :(得分:1)
jsFiddle示例:http://jsfiddle.net/2HEVT/
function calc(o){
var result={};
for(var i=0;i<Object.keys(o).length;i++){
str=Object.keys(o)[i];
for(var j=0;j<str.length;j++){
value=0;
if(result.hasOwnProperty(str[j]))
value=result[str[j]];
result[str[j]]=value+o[str];
}
}
return result;
}