2011-10-06 90 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'。編輯正在等待審查。 –