gpt4 book ai didi

javascript - 找到两个数组的可用组合(排列?)

转载 作者:行者123 更新时间:2023-12-03 06:08:44 27 4
gpt4 key购买 nike

很难用谷歌搜索这个问题,因为我不确定这些概念叫什么,并且所有“两个数组/组的组合”SO 帖子都没有给我我期望的输出。

数组示例:

var array1 = ['Bob', 'Tina'];
var array2 = [0, 100];

我可以通过两个数组的嵌套循环找到可能的组合。但这会给我这样的输出:

var array1 = ['Bob', 'Tina'];
var array2 = [0, 100];
var options = []

array1.forEach(function (name) {
array2.forEach(function (number) {
options.push([name, number])
})
})


console.log(options);
> [ [ 'Bob', 0 ], [ 'Bob', 100 ], [ 'Tina', 0 ], [ 'Tina', 100 ] ]

这篇文章( Creating Combinations in JavaScript )给了我上面的输出

但是我真正想要的会给我这样的安排/组合:

[
[['Bob', 0], ['Tina', 0]],
[['Bob', 0], ['Tina', 100]],
[['Bob', 100], ['Tina', 0]],
[['Bob', 100], ['Tina', 100]]
]

并且它需要能够扩展更长的数组,但 2x2 是最简单的示例。

这里的笛卡尔示例( Matrix combinations of two arrays in javascript )也给了我分解的字符串,而不是相关的排列:

[ { '0': 'B', '1': 'o', '2': 'b' },
{ '0': 'B', '1': 'o', '2': 'b' },
{ '0': 'T', '1': 'i', '2': 'n', '3': 'a' },
{ '0': 'T', '1': 'i', '2': 'n', '3': 'a' } ]

我一直在通过谷歌等搜索,但我遇到了障碍,因为我不确定我真正在寻找什么。

最佳答案

我希望这可以帮助您获得实际的组合:

var array1 = ['Bob', 'Tina'];
var array2 = [0, 100];
var resultArray = []

for (var i = 0; i < array1.length; i++) {
for (var j = 0; j < array2.length; j++) {
var tempArray = [];
tempArray.push(array1[i]);
tempArray.push(array2[j]);
resultArray.push(tempArray);
}
}

for (var i = 0; i < array2.length; i++) {
for (var j = 0; j < array1.length; j++) {
var tempArray = [];
tempArray.push(array1[j]);
tempArray.push(array2[i]);
resultArray.push(tempArray);
}
}

console.log(resultArray);

关于javascript - 找到两个数组的可用组合(排列?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39417399/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com