gpt4 book ai didi

javascript - 根据字符串数组重新排序对象数组?

转载 作者:太空宇宙 更新时间:2023-11-04 03:12:57 25 4
gpt4 key购买 nike

我有以下数据结构:

const fieldOrder = [
'title',
'first_name',
'last_name',
'address_1',
'address_2',
'city',
'state',
'zipcode',
'country',
]

const fields = [
{
name: 'first_name',
value: 'John'
},
{
name: 'title',
value: 'Mr'
}
...etc
]

我想根据 name 键在 fieldOrder 数组中的位置对 fields 对象数组进行重新排序。这怎么可能?也许可以使用 Array.sort 方法?

一般来说,这是表示顺序的最佳方式吗?

最佳答案

您可以从字段顺序数组创建对象,然后使用 sort 方法根据该对象中的值进行排序,该对象将成为顺序数组中当前元素的索引。

const fieldOrder = [
'title',
'first_name',
'last_name',
'address_1',
'address_2',
'city',
'state',
'zipcode',
'country',
].reduce((r, e, i) => {
r[e] = i;
return r
}, {})

const fields = [{
name: 'first_name',
value: 'John'
},
{
name: 'title',
value: 'Mr'
}
].sort((a, b) => fieldOrder[a.name] - fieldOrder[b.name])

console.log(fields)

关于javascript - 根据字符串数组重新排序对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60303135/

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