IM有下一个模型和集合定义:
var Auditoria = Backbone.Model.extend({
defaults:{
id: 'undefined',
user_id: 'undefined',
user_str: 'undefined',
user_agent: 'undefined',
login_from: 'undefined',
login_date: 'undefined'
}
});
var AuditoriaList = Backbone.Collection.extend({
model: Auditoria,
url: $("#ajax-call").val()
});
var sesiones = new AuditoriaList();
sesiones.fetch({
async: false
});
日志记录显示,集合创建正确:
{长度:15,模型:数组[15],_byId:对象,构造函数:函数,模型:函数...}
但是,当尝试迭代集合(在渲染视图方法中)时,显然无法正确获取当前元素:
render: function(){
sesiones.each(function(sesion){
console.log(sesion);
}, this);
return this;
}
console.log,而不是返回模型,返回:
{cid:“c1”,属性:对象,集合:r,_changing:false,_previousAttributes:Object…}
有什么想法吗?。
我猜您希望在控制台日志中看到的是模型数据的JSON表示?试试这个:
console.log( sesion.toJSON() );
{cid:“c1”,属性:对象,集合:r,_changing:false,_previousAttributes:Object…}
这是你收藏的模型
如果要获取模型的值,应按如下方式迭代集合:
sesiones.forEach(function(model) {
console.log(model.get('user_str'));
}
嗨,伙计们,我把这个作为面试问题来回答,但我遇到了麻烦。我熟悉泛型/集合 问题是:所提供的工作区中包含cocI,它是一个类的开始,该类实现了一个迭代器,可用于迭代集合集合。集合集合被传递到类的构造函数中。迭代器应该首先遍历内容深度。 例如,如果集合集合如下所示: 然后迭代器应按以下顺序返回内容:“A”、“B”、“C”、“D”、“E”、“F” Q.在cocI中提供hasNext()和next()方法
假设我有一个包含集合的对象,所述集合上的每个元素都包含一个集合,每个集合都包含一个集合。 我想在最深的对象上迭代,并对其应用相同的代码。 命令式的方法是微不足道的,但有没有一种方法来完成这一切? 我可以看到如何从最深的循环中生成lambda: 但我能做得更多吗?
问题内容: 在Java中为集合的集合设计一个迭代器。迭代器应隐藏嵌套,使您可以迭代属于所有集合的所有元素,就像使用单个集合一样 问题答案: 这是一个可能的实现。请注意,我没有执行remove():
我有一个将数据延迟加载到内部向量的结构(但是对于这个例子来说这是不允许的)。然后,我为IntoIterator类型实现了< code>IntoIterator和< code>Iterator: 这给了我一个终生的问题: 引用的生存期应该绑定到< code>LazyStruct,但是我不能改变Iter特性不接受任何生存期说明符。我已经检查了一些类似问题的答案:迭代器通过引用返回项目,生存期问题如何编
问题内容: 现在,我有一个包含以下代码的程序: 就遍历ArrayList而言,我这样做是否正确? 我得到的错误是: 我将显示其余的代码,但内容相当广泛,如果我没有正确进行迭代,我将认为唯一的可能性是我没有正确初始化。 问题答案: 就遍历Arraylist而言,我这样做是否正确? 否:通过在每次迭代中调用两次,您将始终获得新的迭代器。 编写此循环的最简单方法是使用for- each 构造: 至于 您
问题内容: AFAIK有两种方法: 遍历集合的副本 使用实际集合的迭代器 例如, 和 是否有任何理由偏爱一种方法(例如,出于可读性的简单原因而偏爱第一种方法)? 问题答案: 让我举几个例子,并提出一些避免方案。 假设我们有以下藏书 收集并删除 第一种技术是收集所有要删除的对象(例如,使用增强的for循环),并在完成迭代后删除所有找到的对象。 假设你要执行的操作是“删除”。 如果要“添加”此方法也可