我有一个非常实际的问题,即在图案中生成等离子切割线。查看附件图片
如果有人愿意使用ramda或类似的lib共享解决方案,我觉得这将是纯函数式编程技术的一个很好的演示,因为我正在尝试以FP方式学习解决问题,但是说实话,我什至没有知道从哪里开始
// arrays a and b will always have same size, but number of points vary from cut to cut
let a = ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']
let b = ['B0','B1', 'B2', 'B3', 'B4', 'B5']
// need to make array c combining the two arrays in the following pattern
c = ['A0', 'A1', 'B1', 'B2', 'A2', 'A3','B3', 'B4', 'A4', 'A5' ...]
答案 0 :(得分:2)
多亏了Bergi的带领,我今天对FP有了很多了解。 使用ramda可以正常工作
let a = ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']
let b = ['B0','B1', 'B2', 'B3', 'B4', 'B5']
let c = flatten(zipWith(concat, splitEvery(2, a), splitEvery(2, tail(b))))