javascript - underscore _.each 和 forEach 有什么区别?

标签 javascript foreach underscore.js each

我研究 Backbone n underscore。
有人帮帮我。
我不知道 _.each() 的模型未定义。

 var todos = new Backbone.Collection();

    todos.add([
        { title: 'go to Belgium.', completed: false },
        { title: 'go to China.', completed: false },
        { title: 'go to Austria.', completed: true }
    ]);

    // iterate over models in the collection 
    todos.forEach(function(model){
        console.log(model.get('title'));
    });
    // Above logs:
    // go to Belgium.
    // go to China.
    // go to Austria.

为什么模型未定义???

    /*underscoreJS  model is undefined...*/
    _.each(todos, function (model) {
        console.log(model.get('title'));
    });

最佳答案

对于下划线,你需要这样做:

 _.each(todos.models, function(model) {
   console.log(model.get('title'));
 });

你这样做的原因

 var todos = new Backbone.Collection();

 todos.add([{
   title: 'go to Belgium.',
   completed: false
 }, {
   title: 'go to China.',
   completed: false
 }, {
   title: 'go to Austria.',
   completed: true
 }]);

Backbone 返回一个代理对象,它在 todos.models

中保存模型数组

工作代码here

关于javascript - underscore _.each 和 forEach 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351032/

相关文章:

javascript - 在 js 中获取原始样式表作为字符串?

javascript - 如何使用云存储分段上传音乐/视频(适用于 Laravel)?

javascript - Firefox 和 Chrome 中的文本转语音差异

java - mapPartitions 与 foreach 加累加器方法

javascript - Backbone.js 集合在获取操作后不调用 "Reset"事件

jquery - 将表单数据序列化为 JSON

javascript - bootstrap wysihtml5 只读文本区域

javascript - 在数组中找到它的 2 个邻居之间的最小数字

c# - c# foreach for linq 的性能差异

javascript - 为什么在某些情况下下划线不喜欢 typeof ?