gpt4 book ai didi

javascript - Backbone .groupBy 还是过滤器?

转载 作者:行者123 更新时间:2023-12-02 18:19:22 25 4
gpt4 key购买 nike

请问如何为每个产品过滤一组项目?或者如何过滤包含类别数据的项目?

var Categories = new Backbone.Collection();

Categories.add([
{ title: 'category 1', category_type: 'category 1' },
{ title: 'category 2', category_type: 'category 1' },
]);

var Items = new Backbone.Collection();

Items.add([
{ title: 'Product 1', category: 'category 1' },
{ title: 'Product 2', category: 'category 1' },
{ title: 'Product 3', category: 'category 2' }
]);


var byFiltred = Items.groupBy('category');

var filtred = new Backbone.Collection(byFiltred['category 1']);

console.log(filtred.pluck('title'));

谢谢各位的意见和解答!!万马克罗马特

最佳答案

这取决于你想要得到什么。 .groupBy 返回一个分层对象,而 .filter(或只是 .where)返回符合您条件的项目数组。

因此给出这个数组:

var a = [
{ title: 'Product 1', category: 'category 1' },
{ title: 'Product 2', category: 'category 1' },
{ title: 'Product 3', category: 'category 2' }
]
_.groupBy( a, 'category' );
/* returns
{
"category 1" : [ { title: 'Product 1', category: 'category 1' }, { title: 'Product 2', category: 'category 1' } ],
"category 2" : [ { title: 'Product 3', category: 'category 2' } ]
}
*/

_.where( a, { 'category': 'category 1' });

/* returns
[ { title: 'Product 1', category: 'category 1' }, { title: 'Product 2', category: 'category 1' } ]
*/

显示分层 View ,例如

 category 1
product 1
product 2
category 2
product 1

您应该使用.groupBy,然后循环对象并显示每个类别中的项目:

<强> example

关于javascript - Backbone .groupBy 还是过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18980623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com