我正在寻找用分隔符分割字符串并找到其可能组合的最优雅的方法。
例如:
'foo.bar.baz'
=>
['foo', 'foo.bar', 'foo.bar.baz']
我也不介意使用 underscorejs。
编辑:
到目前为止我尝试过的
function comb(words) {
var combinations = [];
for (var i = 0; i < words.length; i++) {
var currentState = [];
for (var j = 0; j <= i; j++) {
currentState.push(words[j]);
}
console.log('current state', currentState.join('.'));
combinations.push(currentState.join('.'));
}
return combinations;
}
console.log('combinations', comb('foo.bar.baz'.split('.')));
哪个输出combinations [ 'foo', 'foo.bar', 'foo.bar.baz' ]
我将它用于具有嵌套状态的应用程序。例如:home.users.list
这些状态是否被激活:home
, home.users
, home.users.list
.