首页 > 解决方案 > 通过将所有嵌套数组项与父元素连接来创建数组

问题描述

在 Ramda 中使用纯函数需要更好的解决方案

我有一个典型的嵌套循环函数,它在每个步骤中读取一个嵌套数组,用于遍历每个嵌套数组元素,然后再读取嵌套数组。也是函数式编程的新手。

但我认为我们可以在 Ramda 中使用纯函数式编程以更好的方式解决它。

function test( p, {packages} ) {
  let res = []

  for (package of packages) {
    const packageResult = Object.assign({}, p, getPermitives(package))
    const { programs } = package;
    for (schedule of programs ) {
        const scheduleResult = Object.assign({}, packageResult, getPermitives(schedule))
        const { boards } = schedule;
        
        for (board of boards) {
            const boardResult =  Object.assign({}, scheduleResult, getPermitives(board))
            const { groups } = board;
            
            for (group of groups ) {
              res.push(Object.assign({}, boardResult, getPermitives(group), { Services: group.Services }))
            }
        }
    }
  }
  return res
}

标签: javascriptfunctional-programmingramda.js

解决方案


推荐阅读