如何根据基于不同数组的具有 2 个属性的对象对数组进行排序

How to sort an array by an object with 2 properties based on a different array

我有 2 个数组。

第一个数组如下所示:

const array1 = [
 {lon: -79.458321, lat: 43.86681, layer: NewClass},
 {lon: -79.4552519, lat: 43.8111705, layer: NewClass},
 {lon: -79.4583686, lat: 43.7910661, layer: NewClass},
 {lon: -79.4757382, lat: 43.7843178, layer: NewClass},
 ...
 ...
 ...
]

另一个数组如下所示:

const array2 = [
 {coordinates: {lat: 43.63955, lng: -79.38959}},
 {coordinates: {lat: 43.7197383, lng: -79.4317488}},
 {coordinates: {lat: 43.6559076, lng: -79.4547443}}
 ...
 ...
 ...
]

我将如何根据 array1 中的 long & lat 属性对 array2 进行排序?

最简单的方法不是只执行以下操作吗?

const array1 = array2.map(c => {lat: c.coordinates.lat, lon: c.coordinates.long});

否则,如果你想保留你的层,它会是这样的

const array3 = array2.map(c => array1.find(d => d.long == c.coordinates.lng && d.lat == c.coordinates.lat));