这个需求怎样做?

147737010 2010-01-08 05:57:49
这个需求是这样的:有一个字符串,暂时定义为str= ‘1,2|A,B’,怎样通过程序,得出组合为:1A,1B,2A,2B?如果str='1,2|A,B|C,D',则组合为1AC,1BC,1AD,1BD,2AC,2BC,2AD,2BD呢?如果str='1,2|A,B,C,D|@,#'就有16种组合方式,大家记住,str的“|”是动态的,可能1个,也可能2个,3个....这个问题我觉得有趣,看看大家怎样解决了
...全文
116 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmliy 2010-01-09
  • 打赏
  • 举报
回复

Array.prototype.each = function(callback) {
for (var i = 0, count = this.length; i < count; i++) callback(this[i]);
}

function combine(str) {
var groups = [];
str.split('|').each(function(a) { groups.push(a.split(',')); });
var first = groups.shift();
groups.each(function(a) { first = combineArray(first, a); });
return first.join(",");
}

function combineArray(a1, a2) {
var a3 = [];
a1.each(function(a) { a2.each(function(b) { a3.push(a + b); }); });
return a3;
}

alert(combine('1,2|a,b,c,d|@,$'));
alert(combine('1,2|a,b,c,d|A,B|@,$'));
jakcomeon 2010-01-09
  • 打赏
  • 举报
回复
頂下
antony1029 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xmliy 的回复:]
JScript code
Array.prototype.each=function(callback) {for (var i=0, count=this.length; i< count; i++) callback(this[i]);
}function combine(str) {var groups= [];
str.split('|').each(fu?-
[/Quote]
UP
puhaiggp 2010-01-08
  • 打赏
  • 举报
回复
问题很简单,要写出来才行,
道理大家都懂,实现还是有困难的
foolbirdflyfirst 2010-01-08
  • 打赏
  • 举报
回复
php写过个类似的
var getCombine = function(str){
var c = str.split('|'),data=[],r=c[0].split(',');
for(var m=1,j=c.length;m<j;m++){
data[data.length] = c[m].split(',');
}
for(var i in data){
var n = [],v=data[i];
for(var j in r){
for(var k in v){
n[n.length] = r[j]+''+v[k]
}
}
r = n;
}
return n;
}
alert(getCombine('1,2|A,B|C,D'));
alert(getCombine('1,2|A,B,C,D|@,#'));
hehuan1213 2010-01-08
  • 打赏
  • 举报
回复
多个数组组合,split切割出字符串,将字符串切割成数组,然后不断的循环循环循环 同意!!
147737010 2010-01-08
  • 打赏
  • 举报
回复
这个看起很简单,大家不妨试做一下,就知道不简单了
街头小贩 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jol_boy 的回复:]
没意思,多个数组组合,split切割出字符串,将字符串切割成数组,然后不断的循环循环循环
[/Quote]
同意!问一问楼上的么有意思
jol_boy 2010-01-08
  • 打赏
  • 举报
回复
没意思,多个数组组合,split切割出字符串,将字符串切割成数组,然后不断的循环循环循环

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧