gpt4 book ai didi

javascript - 如何使用 lodash 格式化数组数组

转载 作者:行者123 更新时间:2023-11-28 13:16:29 25 4
gpt4 key购买 nike

我正在使用 lodash 通过属性“isRouteId”对数组进行分组,如下所示:

    [
[
{
"key": 0,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7778a8b2-2a92-49f3-b910-089231678412",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5407882,
"longitude": -95.7732222
}
},
{
"key": 1,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7778a8b2-2a92-49f3-b910-089231678412",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5406792,
"longitude": -95.7732779
}
}
],
[
{
"key": 71,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "ddb42ef3-6c0e-48fc-9bcb-0a64ad422db4",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5332458,
"longitude": -95.7766514
}
},
{
"key": 72,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "ddb42ef3-6c0e-48fc-9bcb-0a64ad422db4",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5331976,
"longitude": -95.7765264
}
},
{
"key": 73,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "ddb42ef3-6c0e-48fc-9bcb-0a64ad422db4",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5331486,
"longitude": -95.7763998
}
}
],
[
{
"key": 93,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7a343973-95b4-4508-9076-15a6ebae5555",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5321796,
"longitude": -95.7738858
}
},
{
"key": 94,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7a343973-95b4-4508-9076-15a6ebae5555",
"isPaused": false,
"subdivisionId": 0,
"latlngObj": {
"latitude": 29.5321292,
"longitude": -95.7737588
}
}
]
]

我需要下一步的帮助,即获取嵌套的“latlngObj”属性并将它们移动到根级别。期望的结果需要如下所示:

    [
[
{
"key": 0,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7778a8b2-2a92-49f3-b910-089231678412",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5407882,
"longitude": -95.7732222
},
{
"key": 1,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7778a8b2-2a92-49f3-b910-089231678412",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5406792,
"longitude": -95.7732779
}
],
[
{
"key": 71,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "ddb42ef3-6c0e-48fc-9bcb-0a64ad422db4",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5332458,
"longitude": -95.7766514
},
{
"key": 72,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "ddb42ef3-6c0e-48fc-9bcb-0a64ad422db4",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5331976,
"longitude": -95.7765264
},
{
"key": 73,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "ddb42ef3-6c0e-48fc-9bcb-0a64ad422db4",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5331486,
"longitude": -95.7763998
}
],
[
{
"key": 93,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7a343973-95b4-4508-9076-15a6ebae5555",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5321796,
"longitude": -95.7738858
},
{
"key": 94,
"isSurveyId": null,
"isPausedId": null,
"isRouteId": "7a343973-95b4-4508-9076-15a6ebae5555",
"isPaused": false,
"subdivisionId": 0,
"latitude": 29.5321292,
"longitude": -95.7737588
}
]
]

我知道如何使用 jquery 来做到这一点,但这是不可用的。我需要使用 lodash、下划线或 javascript 来实现这一点。

plunker

  var result = _(routesById).groupBy('isRouteId').values().value();

console.log(result);

最佳答案

我会采取以下方法:

_(coll)
.flatten()
.map(i => _.assign({}, _.omit(i, 'latlngObj'), i.latlngObj))
.groupBy('isRouteId')
.value()

第一步是flatten()数组,那么你就可以 map()这几项。这个想法是 map 迭代器使用 assign()添加 latlngObj 属性,而 omit()用于删除 latlngObj,因为不再需要它(如果需要,您可以跳过 omit() 部分)。

然后就是一个简单的调用groupBy()完成链条。

关于javascript - 如何使用 lodash 格式化数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37530059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com