你可以在curried的箭頭函數表達式中實現一個while循環嗎? 我希望能夠表達一個while循環。你可以在Curried箭頭函數表達式中實現一個while循環嗎?
var arr = [1,2,3,4,5,6];
var len = arr.length;
const iter = i => while(() => (console.log(i),()=>i--);
iter(len);
你可以在curried的箭頭函數表達式中實現一個while循環嗎? 我希望能夠表達一個while循環。你可以在Curried箭頭函數表達式中實現一個while循環嗎?
var arr = [1,2,3,4,5,6];
var len = arr.length;
const iter = i => while(() => (console.log(i),()=>i--);
iter(len);
沒有。沒有塊的箭頭函數必須是表達式,while循環不是(theyre語句)。你可以做某事像
function whileExp(check,callback){
while(typeof check=="function"?check():check){
if(callback) callback();
}
}
(counter=>whileExp(()=>--counter,()=>alert(counter)))(10);
但是我不知道爲什麼這應該是有用的
你缺少數組的聲明的名字,我不知道這句法while循環,但低於此語法正常工作
var arr = [1,2,3,4,5,6];
var len = arr.length;
const iter = i => {while(i > 0){console.log(i); i--;}};
iter(len);
你能不能做到這一點嗎 – Rick
我你在一條線上做,我想你可以 –
您可以使用Array.prototype.reduceRight()
,逗號操作
const arr = [1,2,3,4,5,6];
const iter = (a, b) => (console.log(a), b);
arr.reduceRight(iter);
你是做什麼的意思是「控制數組上的迭代次數」?Question中的代碼只調用'console.log()'。期望的結果是什麼? – guest271314
@Arrow _「我只想遍歷一半的arr唉。我不想在此之外進行迭代。「_這個要求在原始問題中沒有描述,請參閱https://stackoverflow.com/help/how-to-ask – guest271314
@Arrow建議在問題本身的文本中具體明確什麼要求,而不是試圖按照新的要求進入問題的評論。目前的要求是不明確的。使用'break'來停止'for'或'while'循環的迭代。 – guest271314
除了事實不起作用,在什麼情況下會有用? – PeterMader
請勿要求 – Rick
@PeterMader簡潔 – Rick