我目前正在开发 Backbone 应用程序,并使用backbone-forms 来生成应用程序中使用的一些表单。我有一个带有两个选择框的表单,可以通过我的 API 从集合中提取数据。
第二个选择框取决于第一个选择框的值(类别与产品关系)。然而,一个产品可以属于多个类别,因此下划线中的标准 _.where
不起作用。
这就是类别的 JSON 的大致样子:
{id: 1, name: "Category 1"}
这是产品的 JSON:
{id: 1, name: "Product 1", categories: [{cat_id: 1},{cat_id: 2}]}
当选择第一个选择值时,我需要某种方法来过滤 id。
最佳答案
var categoryId = 1; //your selected category id
var filteredProducts = _.filter(products, function (product) {
return !!_.findWhere(product.categories, {id: categoryId });
});
最坏情况效率 - O(n^2)
关于javascript - Backbone/Underscore Filter 多维集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17433640/