芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
1

JavaScript 一维数组全排列方法

作者 芒果/分类 代码/发布于 2013-03-28 23:20

JavaScript 一维数组全排列方法,递归实现方法。

var types = [], explore;

// 计算全排列
explore = function (s, r) {
	var len = s.length, i = 0;
	if (len == 0) {
		types.push(r.join(''));
	} else {
		for (; i < len; i++) {
			explore(s.slice(0, i).concat(s.slice(i + 1)), r.concat(s[i]));
		}
	}
};

// 执行并打印结果
explore(['a', 'b', 'c'], []);
console.log(types);

打印结果为:["abc", "acb", "bac", "bca", "cab", "cba"]

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/javascript-full-array-function/" title="JavaScript 一维数组全排列方法" rel="bookmark">JavaScript 一维数组全排列方法 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 1 条群众意见

  1. 破碎机 /2013-04-01 11:12

    这个递归实现方法 还真可以啊 ~ 回应

    #1

下面我简单说几句