【发布时间】:2023-01-27 16:01:04
【问题描述】:
我正在尝试重组一个数组并构建另一个数组。尝试使用filter、map,但无法实现。数组中有一些因素及其评级(对象的 5 个元素从一开始)。我应该将它们收集在另一个数组中。我有一个这样的数组。
[{
"carryRating": 21,
"distanceRating": 72,
"obHavoYogingarchilikQorVaHKRating": 74,
"obHavoQuruqRating": 40,
"yetkazibBeruvchiningMoliyaviyAhvoliRating": 32,
"id": 1,
"direction": "A",
"distance": "90.55",
"carry": "365",
"obHavoQuruq": "50",
"yetkazibBeruvchiningMoliyaviyAhvoli": "56",
"obHavoYogingarchilikQorVaHK": "58"
}, {
"carryRating": 35,
"distanceRating": 74,
"obHavoYogingarchilikQorVaHKRating": 71,
"obHavoQuruqRating": 29,
"yetkazibBeruvchiningMoliyaviyAhvoliRating": 55,
"id": 2,
"direction": "B",
"distance": "82.46",
"carry": "589",
"obHavoQuruq": "36",
"yetkazibBeruvchiningMoliyaviyAhvoli": "98",
"obHavoYogingarchilikQorVaHK": "65"
}, {
"carryRating": 19,
"distanceRating": 76,
"obHavoYogingarchilikQorVaHKRating": 90,
"obHavoQuruqRating": 17,
"yetkazibBeruvchiningMoliyaviyAhvoliRating": 11,
"id": 3,
"direction": "C",
"distance": "76.16",
"carry": "326",
"obHavoQuruq": "21",
"yetkazibBeruvchiningMoliyaviyAhvoli": "20",
"obHavoYogingarchilikQorVaHK": "23"
}, {
"carryRating": 25,
"distanceRating": 78,
"obHavoYogingarchilikQorVaHKRating": 65,
"obHavoQuruqRating": 14,
"yetkazibBeruvchiningMoliyaviyAhvoliRating": 2,
"id": 4,
"direction": "D",
"distance": "72.11",
"carry": "421",
"obHavoQuruq": "17",
"yetkazibBeruvchiningMoliyaviyAhvoli": "3",
"obHavoYogingarchilikQorVaHK": "78"
}]
我想像这样重组它:
const newData = [
{
factor: "carry",
firstElementOfArray: 21, // it's carryRating
secondElementOfArray: 35,
thirdElementOfArray: 19,
fourthElementOfArray: 25
},
{
factor: "distance",
firstElementOfArray: 72, // it's distanceRating
secondElementOfArray: 74,
thirdElementOfArray: 76,
fourthElementOfArray: 78
},
{
factor: "obHavoQuruq",
firstElementOfArray: 40, // it's obHavoQuruqRating
secondElementOfArray: 29,
thirdElementOfArray: 17,
fourthElementOfArray: 14
},
{
factor: "yetkazibBeruvchiningMoliyaviyAhvoli",
firstElementOfArray: 32, // it's yetkazibBeruvchiningMoliyaviyAhvoliRating
secondElementOfArray: 55,
thirdElementOfArray: 11,
fourthElementOfArray: 2
},
{
factor: "obHavoYogingarchilikQorVaHK",
firstElementOfArray: 74, // it's obHavoYogingarchilikQorVaHKRating
secondElementOfArray: 71,
thirdElementOfArray: 90,
fourthElementOfArray: 65
},
]
我怎样才能做到这一点?
【问题讨论】:
-
你自己做了什么尝试来解决这个问题? SO 不是来为您编写代码的。
-
为什么键以这种方式命名?看起来不是很有活力。很难根据数组中元素的数量创建新键。它总是有一个固定的长度还是你期待
eleventhElement,twentySecondElement等 -
可能是一个不做X,做Y评论,但是使结果成为数组映射不是更有意义吗?
{ carry: [21, 35, 19, 25], distance: [72, 74, 76, 78], ... }
标签: javascript arrays object