如何从 JavaScript 中的 n 个元素的数组中获取所有可能的 3 元素组合?
How to get all possible 3 element combinations from an array of n elements in JavaScript?
假设我在 JavaScript 中有以下整数数组:
[5,7,6,1,7,5,4,8,2,4]
我想创建一个函数,从中提取所有可能的 3 元素组合,如下所示:
[[5,7,6],[5,7,1],[5,7,7],etc]
最高效和最短的方法是什么?
有没有比 for 循环更好的方法?
我认为最简单和最有效的方法是这样的循环
const data = [5,7,6,1,7,5,4,8,2,4]
const combinations = []
for(let i = 0; i < data.length -2; i++){
for(let j = i + 1; j < data.length -1; j++){
for(let k = j + 1; k < data.length; k++){
combinations.push([data[i],data[j],data[k]])
}
}
}
console.log(combinations)
有更优雅的方法,但性能较差
假设我在 JavaScript 中有以下整数数组:
[5,7,6,1,7,5,4,8,2,4]
我想创建一个函数,从中提取所有可能的 3 元素组合,如下所示:
[[5,7,6],[5,7,1],[5,7,7],etc]
最高效和最短的方法是什么?
有没有比 for 循环更好的方法?
我认为最简单和最有效的方法是这样的循环
const data = [5,7,6,1,7,5,4,8,2,4]
const combinations = []
for(let i = 0; i < data.length -2; i++){
for(let j = i + 1; j < data.length -1; j++){
for(let k = j + 1; k < data.length; k++){
combinations.push([data[i],data[j],data[k]])
}
}
}
console.log(combinations)
有更优雅的方法,但性能较差