是这样的, javascript 的组合算法,如何写一个算法?

比如有这样一个object:

var wordList=[
{"name":"热烈","id":1},{"name":"万分","id":2},{"name":"非常","id":3},
{"name":"欢迎","id":1},{"name":"感谢","id":2},{"name":"谢谢","id":3},
{"name":"您","id":2},{"name":"亲","id":1},{"name":"大神","id"1}
]

题目来源及自己的思路

实现的功能是,枚举一下所有的组合,比如n=3,就表示从中选择3个,组成一组,所有的都列举出来。

你期待的结果是什么?实际看到的错误信息又是什么?

但是id相同的不能列为一组,
n=3
{"name":"热烈","id":1},{"name":"万分","id":2},{"name":"非常","id":3},这是正确的
{"name":"热烈","id":1},{"name":"万分","id":2},{"name":"欢迎","id":1}这是错误的

阅读 1.5k
2 个回答

考虑下先按id分成几个数组,然后再从各个数组取出来组合这样?

就看你现在设定的这个wordList,如果n大于3呢,这个时候从数组里无法提取出足够的元素(否则必定会存在重复),这个时候你需要什么效果?请描述清楚。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题