我有 3 组/数组。其中 2 个被置换为一个数 n ∈ {1,2,3,4}(例如 n = 4 -> ABCD),第 3 个是 2 个元素的组合。以下是置换集 A 和 B(它们是相同的):
ABCD ABDC ACBD ACBD ACDB ADBC ADCB BACD BADC BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA
这里的集合与 n ∈ {1,2,3,4} 的组合(例如 n = 4 -> AA AB AC AD...):
AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD
所以这是输入。
3 个集合/阵列的映射
我想组合这 3 个集合/数组,而不比较每个对象的内容,以获得如下输出:
[ABCD DA ABCD][ABCD DA ABDC][ABCD DA ACBD][ABCD DA ACDB][ABCD DA ADBC][ABCD DA ADCB]....
对于集合 A 的第一个元素。所以集合 A 的第一个元素的最后一个字符映射到组合的第一个字符,组合的第二个字符映射到集合 B 中所有元素的第一个字符。
这必须对所有元素进行。
棘手的部分是,n 不是静态的,而是设置为 1、2、3 或 4。所以我需要一个考虑到这一点的函数。
映射后
集合的每个元素都是一个对象,它描述了一条路线。该对象如下:
originRoute = {
a: google.maps.LatLng,
b: google.maps.LatLng,
c: google.maps.LatLng,
d: google.maps.LatLng,
distance: integer }; //Element of Set A
destinationRoute = {
a': google.maps.LatLng,
b': google.maps.LatLng,
c': google.maps.LatLng,
d': google.maps.LatLng,
distance: integer }; //Element of Set B
connectionRoute = {
originPeer: google.maps.LatLng,
destinationPeer: google.maps.LatLng,
distance: integer }; //Element of Combination
映射路线 A、B 后,CI 想要计算从 a' 到 d' 的最短距离。但要实现这一点,我需要映射这些元素。
任何人都可以告诉我如何实现这一点,通过考虑每个数组的大小可以随给定的 n 变化。