【发布时间】:2009-04-17 06:29:20
【问题描述】:
我有一个项目列表,每个项目都有一个数量。
var items = {
1: 12, // we have 12 x item1
2: 1, // we have 1 x item2
3: 1,
4: 7,
5: 2,
6: 2
};
或者,这可以被视为:
var items = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6];
您将如何获取这些项目的每个组合的列表,请记住顺序完全不重要(因此[1,2,3] == [3,2,1]),并且并非每个项目都必须存在于结果中。
我想输出可能是这样的:
[1]
[1, 1]
[1, 2]
[1, 3]
...
或者,甚至更好:
{1 : 1} // 1 x item1
{1 : 2} // 2 x item1
{1 : 1, 2 : 1} // 1 x item1, 1 x item2
{1 : 1, 3 : 1}
....
【问题讨论】:
-
“不是每个项目都必须存在于结果中”是什么意思?您到底在寻找什么样的结果?
标签: javascript set combinations