Position Absolute

返回从数组过滤的集合列表

最近我试图弄清楚的是,如果可以从ID数组过滤一个集合。想象一下,您获得了一个任务福彩3d布衣天下图,列出了另一个子任务福彩3d布衣天下图。在您的任务福彩3d布衣天下图中,您有一系列子任务,[1,4,7]。你会如何去检索这些福彩3d布衣天下图?

循环

这样做的最简单方法是通过循环数组并在一个新的集合中逐个将福彩3d布衣天下图保存。视图中的代码看起来像这样的东西:

var currentSubtask = new SubtaskCollection;
_.each(this.model.toJSON().subtasksArray, function(taskID){
	var mySubTask = allSubTasks.getOne(taskID)
	currentSubtask.add(mySubTask)
})

当我们即将显示主任务的子任务时,我们将循环我们的子任务数组并逐一检索子任务。

在我们的子任务集合声明中,我们将拥有此过滤器:

	getOne : function(SubTaskid){
		return this.filter(function(data) {
		  	return data.get("id") == SubTaskid;
		});
	},

轻松,我们每次都有一个福彩3d布衣天下图。显然这种技术真的不是最有效的。我们真正想要达到的是不必在视图方面循环通过我们的子任务数组,但直接在收集过滤器中打击数组。

更好的方法

为此,我们必须更改过滤器,我们将在我们的子任务数组中检查每个福彩3d布衣天下图是否存在于我们的集合中。如果不是,它将返回-1,在这种情况下,我们不会保留它。

	getGuestById : function(subtasksArray){
		return this.select(function(model){
		    return (_.indexOf(subtasksArray, model.get("id")) > -1);
		  });
	}

这将返回可以添加到集合的福彩3d布衣天下图列表。我们还可以返回一系列直接用_()缠绕所有内容的福彩3d布衣天下图

	getGuestById : function(subtasksArray){
		return _(this.select(function(model){
		    return (_.indexOf(subtasksArray, model.get("id")) > -1);
		  }));
	}

而已

在这里,我们要使用数组过滤,在我的下一篇文章中,我将使用此技术将2个福彩3d布衣天下图一起“绑定”并处理小关系。