javascript - 下划线 : Wrap array with collection methods

标签 javascript underscore.js

我有一个充满对象的数组:

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/

相关文章:

javascript - inpage.js :1 Uncaught Error: invalid address

javascript - 将具有数组属性的对象展平为一个数组的最佳方法

javascript - 在下划线 groupBy 之后加入或合并 json 对象

javascript - 使用 Underscore(或 Lodash),如何从另一个数组中删除一个数组的每个成员?

javascript - 在窗口调整大小时重新加载 jQuery Carousel 以将方向从垂直更改为水平

JavaScript onchange 函数

javascript - 在 Bootstrap 模式中实现无限滚动?

javascript - DOM 中报告的奇怪宽度(0,当元素有宽度时)

javascript - 重写下划线_.uniq

Javascript 计算 json 数组中的不同值和总和列表