[英]How could I code this JavaScript function using functional programming paradigm?
[英]Iterating over Linked List using Functional programming paradigm
我的項目中有一個簡單的鏈接列表。 該項目使用underscore.js。 我正在嘗試一種使用函數式編程技術遍歷鏈表的方法。 目前,我有以下內容:
while(cell.next) {
nxt = cell.next;
//check if next cell fulfills some condition. If condition is met,
// loop breaks
}
有什么辦法可以以功能方式實現上述功能(使用underscore.js庫)?
提前致謝。
不確定下划線是如何考慮的。獲取功能樣式代碼似乎並不是必需的。
function doCell(c) {
if (!c || your_condition_is_met)
return c;
return doCell(c.next);
}
var result = doCell(cell);
不知道結果應該是什么,所以如果滿足條件,我就返回當前單元格。
如果願意,可以將其中的一些抽象為可重用的函數。
function nextWhile(v, callback) {
if (!v || callback(v))
return v;
return nextWhile(v.next, callback);
}
然后像這樣使用它:
var result = nextWhile(cell, function(cell) {
return your_condition_is_met;
});
這使您可以創建可重用的函數。
function cell_is_something(cell) {
return your_condition_is_met;
}
清理並記錄您的代碼。
var result = nextWhile(cell, cell_is_something);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.