【发布时间】:2021-02-25 15:52:12
【问题描述】:
我是新来的,我有一些我无法解决的问题。 我有 2 个不同的数组:
第一个数组 - 包含用户 ID 名称的评分
[
{"handle":"frontend1", "_redis":"3", "_nodejs":"5", "_mysql":"2", "_python":"3", "_mongo":"4"},
{"handle":"frontend3", "_php":"4", "_mysql":"4", "_oracle":"4", "_ruby":"3", "_mongo":"5", "_python":"5"},
{"handle":"frontend4", "_java":"5", "_ruby":"5", "_mysql":"5", "_mongo":"5"}
]
第二组 - 包含我想要返回给每个用户的评级。 如果有评分不在第二套,我不会退的
在第二组中,值无关紧要,只有键
[
"_assembler",
"_css",
"_python",
"_php"
]
我想返回第一组,句柄,以及第二组中存在的所有排名。
[
{"handle":"frontend1", "_python":"3" },
{"handle":"frontend3", "_php":"4", "_python":"5" },
{"handle":"frontend4"}
]
这是我尝试做的。
keys = [
"_assembler",
"_css",
"_python",
"_php"
]
source = [
{"handle":"frontend1", "_redis":"3", "_nodejs":"5", "_mysql":"2", "_python":"3", "_mongo":"4"},
{"handle":"frontend3", "_php":"4", "_mysql":"4", "_oracle":"4", "_ruby":"3", "_mongo":"5", "_python":"5"},
{"handle":"frontend4", "_java":"5", "_ruby":"5", "_mysql":"5", "_mongo":"5"}
];
result = [];
tmp = {};
source.forEach((item) => {
Object.keys(item).map(({key,value}) =>
{
if(key == "handle")
{
tmp[key]=value;
}
if(keys.includes(key))
{
tmp[key]=value;
}
})
result.push(...tmp);
tmp = {};
});
【问题讨论】:
-
为什么
frontend改为backend? -
@Jamiec 非常感谢您的帮助,我没有注意到,您是对的。
标签: javascript arrays reactjs sorting