2014-11-22 36 views
0

我想一個新值追加到每個辦公室陣列:underscore.js類型錯誤:對象...有沒有方法「推」

{ 
    "name" : "HQ", 
    "office" : [ 
    { 
     "name" : "Office1", 
     "_id" : ObjectId("54671a5e82092cbc3f1e6104") 
    }, 
    { 
     "name" : "Office2", 
     "_id" : ObjectId("54671a5e82092cbc3f1e6103") 
    } 
    ] 
} 

我試圖做到這一點使用underscorejs:

var offices = []; 
_.each(doc.offices, function(value){ 
    offices.push(value.push({"distance": distanced})); 
} 

但我得到TypeError: Object ... has no method 'push'

有沒有更快的方式來使用underscorejs?

回答

1

傳遞給_.each函數的值是諸如{name: ...}之類的對象,因此您試圖將對象推送到對象上。你想做類似以下的事情嗎?

var offices = []; 
_.each(doc.office, function(value) { 
    value.distance = distanced; 
    offices.push(value); 
}); 
+0

距離值不在數組中,我需要追加到它。 – Alvin 2014-11-22 07:04:10

+0

我想你可能會對對象與數組感到困惑。對象是'{}'中的東西,你可以給它們添加屬性,但不要推到它們上面。數組是'[]'中的事物,並且你推入它們,但不(通常)爲它們添加屬性。你說哪個陣列的距離值不在,你想要的是?如果您提供確切的期望輸出,可能會有所幫助。 – 2014-11-22 07:18:18

+0

謝謝,我明白了。 – Alvin 2014-11-22 07:21:36

相關問題