Javascript 置换数组的映射
我有3套/阵列。其中2个被置换为数字n∈ {1,2,3,4}(例如n=4->ABCD),第三个元素是两个元素的组合。以下是置换集A和B(它们是相同的): ABCD ABDC ACBD ACBD ACDB ADBC ADCB BACD badd BCAD 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个集合/数组,以获得如下输出: [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。所以我需要一个考虑到这一点的函数 映射后 集合中的每个元素都是一个对象,用于描述路线。该目标如下:Javascript 置换数组的映射,javascript,algorithm,google-maps,mapping,permutation,Javascript,Algorithm,Google Maps,Mapping,Permutation,我有3套/阵列。其中2个被置换为数字n∈ {1,2,3,4}(例如n=4->ABCD),第三个元素是两个元素的组合。以下是置换集A和B(它们是相同的): ABCD ABDC ACBD ACBD ACDB ADBC ADCB BACD badd BCAD 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.) A
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、C之后,我想计算从A'到d'的最短距离。但要实现这一点,我需要映射这些元素
有谁能告诉我如何做到这一点,通过考虑每个数组的大小可以改变给定的n.我不知道你做了什么,你在问什么。你能生成排列和组合吗?您只需要在输出中获取
(n!)^2
项?我的第一个想法是遍历两个排列列表,然后选择将排列链接在一起的唯一组合。这就是我最后所做的。我只是通过两个排列列表进行迭代,并将其与连接器链接。