Ramda lib-javascript-数据重构/分组
我有一些原始的国家和开始时间数据,这些数据列在下面的数据中Ramda lib-javascript-数据重构/分组,javascript,ramda.js,Javascript,Ramda.js,我有一些原始的国家和开始时间数据,这些数据列在下面的数据中 var data = [ { label: 'Argentina, Chilie', value: 90, }, { label: 'United States', value: 10, } ]; 我尝试使用的库是ramda 我想重新配置列表,使其更像这样 var data = [ { label: 'Argent
var data = [
{
label: 'Argentina, Chilie',
value: 90,
},
{
label: 'United States',
value: 10,
}
];
我尝试使用的库是ramda
我想重新配置列表,使其更像这样
var data = [
{
label: 'Argentina, Chilie',
value: 90,
},
{
label: 'United States',
value: 10,
}
];
因此,基本上有三个国家——其中两个国家在同一天和同一小时开始,例如10:00。-1在同一天11:00开始
代码示例-但需要删除最后一个逗号
var data = [
{
"label": "Argentina",
"isIncluded": true,
"times": [
{"text": "", "starting_time": Date.parse('2020-01-14T10:00:00Z'), "ending_time": Date.parse('2020-02-14T15:20:00Z')}
]
},
{
"label": "Chile",
"isIncluded": false,
"times": [
{"text": "", "starting_time": Date.parse('2020-01-14T10:00:00'), "ending_time": Date.parse('2020-05-20T03:24:00')}
]
},
{
"label": "United States of America",
"isIncluded": true,
"times": [
{"text": "", "starting_time": Date.parse('2020-01-14T11:00:00Z'), "ending_time": Date.parse('2020-03-20T03:24:00')}
]
}
];
//console.log("data",data);
const groups = R.groupBy(x => x.times[0].starting_time, data);
const newData = Object.keys(groups).map(key => {
return {
label: groups[key].reduce((c, n) => `${c}${n.label}, `, ''),
value: groups[key].length
}
})
console.log('newData', newData)
下划线有一个group by函数 它返回一个由作为组提供的属性设置关键帧的对象图,该值是与提供的关键帧匹配的对象
const groups = groupBy(data, item => item.times[0].starting_time)
console.log('groups', groups)
const newData = Object.keys(groups).map(key => {
return {
label: groups[key].reduce((c, n) => `${c}${n.label}, `, '')
}
})
console.log('newData', newData)
下划线有一个group by函数 它返回一个由作为组提供的属性设置关键帧的对象图,该值是与提供的关键帧匹配的对象
const groups = groupBy(data, item => item.times[0].starting_time)
console.log('groups', groups)
const newData = Object.keys(groups).map(key => {
return {
label: groups[key].reduce((c, n) => `${c}${n.label}, `, '')
}
})
console.log('newData', newData)
以下是一种Ramda方法:
const transform=pipe(
groupBy(路径(['times',0,'starting_time']),
价值观
地图(applySpec)({
标签:管道(拔出('label')、连接('、')),
值:长度
}))
)
const data=[{“Isinclude”:true,“label:”阿根廷“,”泰晤士报“:”[{“ending_time:”1581693600000,“starting_time:”15789960000,“text:”文本“,”}],{“Isinclude”:false,“label:”智利“,”泰晤士报“:[{“ending_time:”15789940000,“starting_time:”文本“:”}],{“Isinclude”:true,“label:”美利坚合众国“,”泰晤士报“:”[{“结束时间”:158467640000,“开始时间”:157899600000,“文本”:“}]}]
console.log(转换(数据))
const{pipe,groupBy,path,values,map,applySpec,pulk,join,length}=R
这里是一个Ramda方法:
const transform=pipe(
groupBy(路径(['times',0,'starting_time']),
价值观
地图(applySpec)({
标签:管道(拔出('label')、连接('、')),
值:长度
}))
)
const data=[{“Isinclude”:true,“label:”阿根廷“,”泰晤士报“:”[{“ending_time:”1581693600000,“starting_time:”15789960000,“text:”文本“,”}]},{“Isinclude”:false,“label:”智利“,”泰晤士报“:[{“ending_time:”1578945040000,“starting_time:”文本“:”}},{“Isinclude”:true,“label:”美利坚合众国“,”泰晤士报“:”结束时间:158466740000,“开始时间”:157899600000,“文本”:“}]}]
console.log(转换(数据))
const{pipe,groupBy,path,values,map,applySpec,pull,join,length}=R
你能发布你的代码吗?你的代码有什么问题吗?-下划线版本-分组错误-有点模拟输出-@Rob:你需要回答你的问题,我们希望帖子不依赖第三方服务独立运行。你能发布你的代码吗?你的代码有什么问题?-下划线版本-分组错误-有点模拟输出-@Rob:你需要回答你的问题,我们希望帖子能够独立运行,而不依赖第三方服务。是否有一个版本使用ramda---groupBy未定义你必须导入库添加导入{groupBy}从“下划线”到您的文件-尝试让ramda与示例一起工作-有点模拟输出-是否有ramda版本---groupBy未定义您必须导入库添加导入{groupBy}从“下划线”到您的文件-试图让ramda与示例一起工作-有点模仿输出-我无法让它与一般的ramda导入一起工作。-导入*作为“ramda”的R;-可能我在libs中的版本已经过时了我看到您的小提琴指向一个相当旧的ramda版本。我使用0.26.1进行了测试代码>。我无法将其用于Ramda的常规导入。-导入*作为R从“Ramda”;-可能我在libs中的版本已过时。我看到您的小提琴指向一个非常旧的Ramda版本。我使用0.26.1
进行了测试。