问题描述
所以我在这里看两件事。首先,我试图在将字符串推送到输出集时删除逗号。我正在做什么,但看起来草率,我知道我可以更好地对其进行优化。如何全面改善呢?
第二,我希望输出在进入双字符之前先读取“ x”,“ y”,“ z”,但是如您所见,我将得到“ x”,“ y”,“ xy”,“ z”如何将“ xy”替换为“ z”?
代码:
function powerSet(inputSet) {
var outputSet = [];
for (var i = 0; i < Math.pow(2,inputSet.length); i++) {
var temp = [];
for (var j = 0; j < inputSet.length; j++) {
if (i & (1 << j)) {
temp.push(inputSet[j]);
}
}
outputSet.push(temp.toString().replace(',','').replace(',''));
}
return outputSet;
}
var input = ['x','y','z'];
var powerSetResult = powerSet(input);
console.log(powerSetResult);
当前输出
["","x","y","xy","z","xz","yz","xyz"]
所需的输出
["","xyz"]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)