JS + math:计算子字符串的排列或组合
JS + math: calculate permutation or combination of substrings
我不确定是否"组合"是正确的词,但我想扫描字符串,以获得所有可能的子字符串,如交货。
var str = "abcd";
// do something here, a for loop i guess...
WANTED OUTPUT:
a
ab
abc
abcd
b
bc
bcd
c
cd
d
我对dcba这样的结果不感兴趣,因此我不是在寻找排列…用什么函数来做呢?
谢谢! !
这很简单,你也可以自己做:
var str = "abcd";
var substrings = [];
for (var i = 0; i < str.length; i++){
for (var j = i + 1; j <= str.length; j++)
substrings.push(str.substring(i, j));
}
要获得所有可能的子字符串(您是对的,它不是"permutations"),您可以使用两个嵌套循环来开始和结束索引:
var str = "abcd";
var substrings = [],
len = str.length;
for (var i=0; i<len; i++)
for (var j=i+1; j<=len; j++)
substrings.push(str.slice(i, j));
substrings;
// ["a", "ab", "abc", "abcd", "b", "bc", "bcd", "c", "cd", "d"]
如果您想获得空子字符串,只需将其添加到substrings
的初始化。
相关文章:
- 如何删除多行HTML排列中的空白
- 根据id将json数组组合为一个json数组
- 接受不在列表中的值-引导组合框
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 组合两个javascript函数
- Telerik rad组合框多列数据绑定
- 组合 2 个 JavaScript .scroll 函数
- 如何使用jquery组合两个数组
- onChange不足以从Dojo组合框触发查询
- 重新排列HTML元素的顺序并更改内容
- 组合承诺和非承诺值
- 所有控件的组合框
- 在D3中组合多个事件
- 如何使用排列运算符来获取具有命名参数的函数的所有参数
- AngularJS-如何只对多个事件的组合采取行动
- 根据组合框中选定的默认项目加载排列,并在更改选定项目时重新加载(淘汰)
- Javascript NodeJS ES6组合/排列算法
- JS + math:计算子字符串的排列或组合
- 查找两个数组的可用组合(排列?)
- 谷歌电子表格中的排列/组合