2015-11-13 69 views
2

我想进入函数式编程,并创建了一些纯函数后,我有两个数组,我需要创建一个新的数组,这是第一个数组与第二个数组更新其属性之一。我有一个命令数组和一个秒整数数组。从另一个数组更新一个数组中属性的函数方法?

的命令阵列具有对象像这样:

var SerialCommand = function(serialString, waitTime) { 
     this.serialString = serialString; 
     this.waitTime = waitTime; 
    } 

秒只是一个整数阵列具有相同数量的元素的命令阵列。

我想最终是一个数组,其中的命令数组中的每个元素有以下更新它:

command.waitTime = numSeconds; 

我创建了以下功能:

var updateSeconds = function(command, numSeconds) { 
     command.waitTime = numSeconds; 
     return command; 
    } 

,但不知道如何将它与数组结合起来。

我对我的图书馆使用Ramda,但任何其他图书馆的帮助都可以。

回答

4

R.zipWith()对你来说似乎是正确的。 http://ramdajs.com/0.18.0/docs/#zipWith

+0

非常感谢。我只知道一只手已经满了,现在我又知道了一个。我甚至不确定你的功能是否有多个参数(仍然学习FP)。再次感谢你。 –

+0

通常在FP中,你想要处理不可变的值,所以结合'zipWith',你可能要考虑['R.assoc'](http://ramdajs.com/docs/#assoc):' R.zipWith(R.assoc('waitTime'),newTimes,commands);'。你可以在http://bit.ly/1Y9PvHw –

+0

看到一个例子,谢谢Scott,那太棒了。我将在未来的不变性问题上更加谨慎。我即将发布另一个FP/Ramda问题:) –

相关问题