【发布时间】:2019-07-26 10:44:53
【问题描述】:
我正在学习如何使用 lodash 库,但遇到了一个我认为我不知道如何解决的问题。我想用 lodash 对一个看起来像这样的嵌套数组进行排序:
"results": [
{
"id": "12345",
"name": "toy123",
"date_created": "2017-08-29T16:10:37Z",
"date_last_modified": "2019-01-29T17:19:36Z",
"prices": [
{
"currency": "USD",
"amount": "100.00"
},
{
"currency": "EUR",
"amount": "88.23"
},
]
},
{
"id": "54321",
"name": "toy321",
"date_created": "2017-08-29T16:10:37Z",
"date_last_modified": "2019-01-29T17:19:36Z",
"prices": [
{
"currency": "USD",
"amount": "80.00"
},
{
"currency": "EUR",
"amount": "70.58"
},
]
},
]
我想根据嵌套在给定数组中的prices 数组对数组进行排序。排序将考虑prices.currency 和prices.amount 并产生如下输出,其中给定数组基于USD 和amount 升序排序。我遇到的另一个问题是prices.amount 是一个字符串,而不是一个数字。
[
{
"id": "54321",
"name": "toy321",
"date_created": "2017-08-29T16:10:37Z",
"date_last_modified": "2019-01-29T17:19:36Z",
"prices": [
{
"currency": "USD",
"amount": "80.00"
},
{
"currency": "EUR",
"amount": "70.58"
},
]
},
{
"id": "12345",
"name": "toy123",
"date_created": "2017-08-29T16:10:37Z",
"date_last_modified": "2019-01-29T17:19:36Z",
"prices": [
{
"currency": "USD",
"amount": "100.00"
},
{
"currency": "EUR",
"amount": "88.23"
},
]
},
]
非常感谢您的好意,当然还有您的时间。
【问题讨论】:
-
您能否详细说明排序部分。按美元和金额排序是什么意思?
-
price.amount 不是问题,因为您将获得第一个 parseInt 然后比较的灵活性
-
@binariedMe 这意味着数组是根据金额排序的,货币为美元。
-
嗯,其他人已经按照你的要求回答了。我认为它们应该可以正常工作。
标签: javascript arrays sorting filter lodash