2015-11-13 68 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問題:) –

相關問題