1. 實現乙個add方法
add(1)(2,3)(4).value() //輸出: 10
分析:對柯里化函式進行改造
原curry函式
functioncurry(f,...args1)
return
inner;
}
改造後curry函式
function curry(f,args1=)//新增value方法
inner.value = function
()
return
inner;
}
柯里化方法
functionoriginaladd(...nums))
}let add =curry(originaladd);
console.log('cur:', add(1)(2,3)(4).value());
2.實現乙個非同步佇列queue,要求按時間依次執行callback
new queue().task(1000, function() ).task(2000, function
() ).start()
分析:task方法只收集引數,在start方法中,將引數轉化為promise,並立即執行
class queuestart(),promise.resolve());
}}function
topromise(time,fn,data),time);
})}
start也可以使用await執行序列promise,這樣傳遞data不太方便
async start()}
微軟面試題(收集)
1 在排序陣列中,找出給定數字的出現次數,比如 1,2,2,2,3 中2的出現次數是3次。include extern int low 0,high 10,mid 0 void find int a,int p 找到p的其中位置 else low mid int tosit int a,int p ...
C 面試題收集
1 多型是如何實現繫結的?多型的繫結可以分為執行是多型和編譯時多型 編譯時的多型性 編譯時的多型性是通過過載來實現的。對於非虛的成員來說,系統在編譯時,根據傳遞的引數 返回的型別等資訊決定實現何種操作。執行時的多型性 執行時的多型性就是指直到系統執行時,才根據實際情況決定實現何種操作。c 中,執行時...
go面試題收集區
go語言將資料型別分為四類 基礎型別 復合型別 引用型別和介面型別。基礎資料型別包括 復合資料型別包括 在電腦科學領域,反射是指一類應用,它們能夠自描述和自控制。在go中,編譯時不知道型別的情況下,可更新變數 執行時檢視值 呼叫方法以及直接對他們的布局進行操作的機制,稱為反射。場景 無法透視乙個未知...