2011-10-06 113 views
1

地图了把钥匙和价值,价值是两个数字的Javascript清单减速机的CouchDB

key1 [1,2] 
key1 [4,8] 
key2 [1,6] 
key2 [2,0] 

减速器我写减少到

key1 [1+4, 2+8] = key1 [5,10] 
key2 [1+2, 6+0] = key2 [3,6] 

列表我写这个剧本减速器

function (key, values) { 

    val1 = 0; 
    val2 = 0; 
    if(values != null) 
    for(val in values) { 
     val1 += parseInt(val[0]); 

     val2 += parseInt(val[1]); 
} 

return [val1,val2]; 
} 

这似乎并没有工作,我在这里做错了什么?

回答

0

更换val[0]values[val][0]

或更好:

function (key, values) { 

    var val1 = 0; 
    var val2 = 0; 
    if(values != null) { 
     for(var i = 0; i < values.length; i++) { 
     var val = values[i]; 
     val1 += parseInt(val[0]); 

     val2 += parseInt(val[1]); 
     } 
    } 
    return [val1,val2]; 
} 

这是不是一个好主意,为...数组中的,因为它有一些许多其他属性。

+0

你不应该在CouchDB中使用全局变量,总会有干扰其他事情的风险。我编辑了代码,在每个新变量前面添加'var'。编辑正在等待审查。 –