【发布时间】:2021-03-03 10:58:37
【问题描述】:
我想知道为什么 ramda 的 map-function 的行为不像我想要的那样,即 'dataAllAgesAllF' 是一个超过 5 个键值对的对象,我只想选择那些与键匹配的键值对 '年龄组数据”。如果我明确写 x[ageGroupFNames[0]] 而不是箭头函数,则列表行可以很好地打印出 5 个正确的键,并且地图行可以工作
const ageGroupFNames = Object.keys(ageGroupData);
const dataAllAges5F = map((x) => [ageGroupFNames.forEach((FName) => x[FName])], dataAllAgesAllF);
ageGroupFNames.forEach((FName) => console.log(FName));
ageGroupData 看起来像这样打印到控制台:
{F_team_ka: 7.3671186441, F_mult_ka: 6.3776666667, F_quic_ka: 6.3113333333, F_lang_ka: 5.9703333333, F_focu_ka: 5.9276666667}
F_focu_ka: 5.9276666667
F_lang_ka: 5.9703333333
F_mult_ka: 6.3776666667
F_quic_ka: 6.3113333333
F_team_ka: 7.3671186441
__proto__: Object
当前 dataAllAges5F 打印出来:
0: Array(1)
0: undefined
length: 1
__proto__: Array(0)
length: 1
__proto__: Array(0)
所以我希望 dataAllAges5F 看起来与 ageGroupData 完全一样,但数值不同 - 实际上,我最终想将这两者结合起来使用 Billboard.js 进行绘图。
【问题讨论】:
-
您可以分享
ageGroupData,您目前得到的输出,以及您想要的输出吗? -
谢谢,但您使用了图片。请删除它们并用文本替换它们?
-
Array.prototype.forEach没有返回值,顺便说一句
标签: javascript dictionary object ramda.js