在nodejs中从set/list生成有序对
Generate ordered pairs from a set/list, in nodejs
我想从 NodeJS
中的 list/set 项生成有序对
示例:我有一个 list/set 项目:[a, b, c]
生成有序对:(a,b) , (a,c) , (b,a) , (b,c) , (c,a) , (c,b)
我如何在 NodeJS 中轻松地做到这一点?
Node.js是JavaScript,所以这里有一个方法:
var _set = ['a','b','c'];
var _pairs = [];
for (var i=0; i<_set.length; i++){
var selectedNow = _set[i];
for (var j=0; j<_set.length;j++){
if(selectedNow == _set[j]){/*ignore*/}
else{
var combination = selectedNow + _set[j];
_pairs.push(combination);
}
}
}
console.log(_pairs);
在此示例中,控制台将打印以下数组:
[ "ab", "ac", "ba", "bc", "ca", "cb" ]
一个有效的 fiddle 示例,如果您想尝试一下:
https://jsfiddle.net/hap2jfy4/
var list = [a, b, c];
var pairs = [];
for (var i = 0; i < list.length; i++) {
for (var j = 0; j < list.length; j++) {
if (i == j) {
continue;
}
pairs.push([
list[i],
list[j]
]);
}
pairs.push(pair);
}
生成一个数组对数组,因此 pairs[0] 是您的 (a, b) 数组。
- 对[0][0]是
- 对[0][1]是b
不那么笨重:
let set = ["a", "b", "c"];
let pairs = [];
set.forEach(function(x){
set.forEach(function(y) {
if (x !== y) {
pairs.push([x,y])
}
})
})
我想从 NodeJS
中的 list/set 项生成有序对示例:我有一个 list/set 项目:[a, b, c]
生成有序对:(a,b) , (a,c) , (b,a) , (b,c) , (c,a) , (c,b)
我如何在 NodeJS 中轻松地做到这一点?
Node.js是JavaScript,所以这里有一个方法:
var _set = ['a','b','c'];
var _pairs = [];
for (var i=0; i<_set.length; i++){
var selectedNow = _set[i];
for (var j=0; j<_set.length;j++){
if(selectedNow == _set[j]){/*ignore*/}
else{
var combination = selectedNow + _set[j];
_pairs.push(combination);
}
}
}
console.log(_pairs);
在此示例中,控制台将打印以下数组:
[ "ab", "ac", "ba", "bc", "ca", "cb" ]
一个有效的 fiddle 示例,如果您想尝试一下: https://jsfiddle.net/hap2jfy4/
var list = [a, b, c];
var pairs = [];
for (var i = 0; i < list.length; i++) {
for (var j = 0; j < list.length; j++) {
if (i == j) {
continue;
}
pairs.push([
list[i],
list[j]
]);
}
pairs.push(pair);
}
生成一个数组对数组,因此 pairs[0] 是您的 (a, b) 数组。
- 对[0][0]是
- 对[0][1]是b
不那么笨重:
let set = ["a", "b", "c"];
let pairs = [];
set.forEach(function(x){
set.forEach(function(y) {
if (x !== y) {
pairs.push([x,y])
}
})
})