2014-11-22 37 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

相关问题