【发布时间】:2020-11-17 05:02:52
【问题描述】:
有没有一种使用Ramda.js 的方法,通过它我可以拥有一个嵌套对象,该对象可以将多个属性转换为输出中提到的数组数组?
请注意,values 始终存在于索引 3 和 4 中,其中我们有 21、4 等值。输出数组长度应映射到input 对象键长度。
const input = {
"002004": {
"25-34 Years": {
"Jul-20": [
[
"Jul-20",
"002004",
"002004 - No Description",
21,
4,
"25-34 Years"
]
],
"Jun-20": [
[
"Jun-20",
"002004",
"002004 - No Description",
25,
8,
"25-34 Years"
]
]
},
"35-44 Years": {
"Jul-20": [
[
"Jul-20",
"002004",
"002004 - No Description",
3,
10,
"35-44 Years"
]
],
"Jun-20": [
[
"Jun-20",
"002004",
"002004 - No Description",
4,
12,
"35-44 Years"
]
]
}
}
};
console.log(input);
const output = [
[
"002004",
"002004 - No Description",
21,
4,
25,
8,
3,
10,
4,
12
]
]
【问题讨论】:
-
您是否尝试过遍历输入级别以获取每个嵌套数组的第 3 和第 4 个值?
-
感谢 deltazero。我可以通过添加循环来做到这一点,但我想知道使用 ramda 是否可以在功能上而不是命令式地实现它
-
您介意详细说明您要做什么吗?
-
当然..输入是按2级数据分组的...我希望它被展平...现在对于每个代码,它都按年龄段分组,然后一个月...我想要第一个和第二个索引首先出现,其余的都应该在此之后传播
-
@SiddharthPal 你可以使用常规的 JavaScript 数组方法吗?
标签: javascript algorithm functional-programming ramda.js flatten