javascript - 如何查找 JavaScript 数组中元素的所有组合

标签 javascript arrays combinations

我有以下数组:

[[A,1,X],[B,2,Y],[C,3,Z]]

我希望能够获取每个子数组的第一个索引的所有组合,然后循环遍历这些组合,对每个组合执行单个任务。所以这些是我想要的组合(注意我也需要相同值的组合):

[[A,A],[A,B],[A,C],[B,A],[B,B],[B,C],[C,A],[C,B ],[C,C]]

然后我会循环遍历它并对每个值执行一些操作。

我不知道从哪里开始,所以任何建议或指示都会非常有帮助!

最佳答案

您需要有效地循环数组两次。根据您的需要,您每次都可以静态访问第一个元素:

var arr = [['A',1,'X'],['B',2,'Y'],['C',3,'Z']];
var newArr = [];
var length = arr.length;
var curr;

for (var i = 0; i < length; i++) {
    curr = arr[i][0];

    for (var j = 0; j < length; j++) {
        newArr.push([curr, arr[j][0]]);
    }
}

console.log(newArr);

Fiddle

关于javascript - 如何查找 JavaScript 数组中元素的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25768490/

相关文章:

asp.net - 从 Jquery 中的隐藏字段值读取值?

javascript - 在 render() 之前使用什么组件生命周期来做某事?

java - 无法使用带有java的gson反序列化未知类型的数组

java - 如何在java中的二维数组中找到元素后计算X次

r - 使用分组变量确定项目的所有可能组合

javascript - ES6 数组推送并合并(如果值已存在)

javascript - 是否可以使用键盘选项卡选择 Span 对象?

arrays - 按范围遍历数组

python - 如何从大量数字中快速生成所有对的列表?

javascript - 合并 Node js中具有相同字段的两个数组