【问题标题】:How to sort an array by an object with 2 properties based on a different array如何通过基于不同数组的具有 2 个属性的对象对数组进行排序
【发布时间】:2022-01-08 04:54:29
【问题描述】:

我有 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 进行排序?

【问题讨论】:

    标签: javascript arrays ecmascript-6


    【解决方案1】:

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

    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));
    

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    • 这行得通。只需要翻转阵列。谢谢!
    猜你喜欢
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多