【发布时间】:2020-12-08 17:19:35
【问题描述】:
我有这个值:
const sample = [{
name: "name",
value1: 1,
mean: 2,
create: 10,
age: "age",
player1: 20,
player2: 40,
sample: "sample",
player3: 30,
player4: 100,
}];
要映射到:
{
name: {
value: 1,
mean: 2,
create: 10
},
age: {
player1: 20,
player2: 40
},
sample: {
player3: 30,
player4: 100
}
}
我知道我可以做的是手动映射它,但我的列表大约是 50,所以这是不可能的。
编辑:
关键属性是字符串,数字是该顺序中的值
【问题讨论】:
-
你知道哪些属性属于
name,哪些属于age,目前是硬编码列表 -
关键属性是字符串,数字是值
-
不,我的意思是
player1和player2被固定为正确的年龄,你知道什么会映射到它 -
@ajbee ...但您知道您实际上依赖于一个始终必须确保例如的结构
Object.keys将完全按照创建/分配的顺序显示键。并且创建此类对象的环境也必须确保这种可行且可重现的顺序。 -
我刚刚看到你的编辑,实际上,你不能在一个对象中有两个属性具有相同的键,所以在你的例子中,你不能有多个
player1和player2与不同的值 -player1的第二个值将替换第一个值。
标签: javascript arrays data-structures mapping