我有一个充满对象的数组:
var myArray = [{ "user": "anton" }, { "user": "joe" }];
我现在想将数组包装到一个 Underscore Collection 对象中,这样我就可以自然地使用 underscore 的集合方法(删除、添加):
myArray = _(myArray); // this only add object methods
myArray.add({ "user": "paul" });
那么如何用下划线包裹数组来使用下划线收集方法
最佳答案
记录在案,因为接受的答案具有误导性:
下划线用作函数,会包裹它的参数,即
_([a, b, c])
相当于:
_.chain([a, b, c])
事实上 chain
定义为:
_.chain = function(obj) {
return _(obj).chain();
};
现在回答你的问题:
您混淆了提供集合的 Backbone 和不提供集合的 Underscore。 Backbone 集合可以很容易地从数组初始化,例如:
var c = new Backbone.Collection([{ "user": "anton" }, { "user": "joe" }]);
会工作得很好。您还可以:
c.add({ "user": "paul" });
关于javascript - 下划线 : Wrap array with collection methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11710209/