jpa*_*app 2 javascript arrays multidimensional-array
我在 js 中有以下数组:
var list = [
['nice', 'delicious', 'red'],
['big', 'tiny'],
['apple']
];
Run Code Online (Sandbox Code Playgroud)
我想获得所有可能的变化,例如:
['nice', 'big', 'apple']
['delicious', 'big', 'apple']
['red', 'big', 'apple']
['nice', 'tiny', 'apple']
...
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳/最雄辩的方法是什么?
我试图想出一些非常花哨的东西,比如递归或一堆地图和减少,但这个问题似乎不够复杂,无法证明与以下不同的东西:
var result = list[0].map(function(item) { return [item]; });
for (var k = 1; k < list.length; k++) {
var next = [];
result.forEach(function(item) {
list[k].forEach(function(word) {
var line = item.slice(0);
line.push(word);
next.push(line);
})
});
result = next;
}
console.log(result);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |