Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ramda lib-javascript-数据重构/分组_Javascript_Ramda.js - Fatal编程技术网

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
进行了测试。