1 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
如何在 Array.prototype.reduce() 中預(yù)定義累加器?
只需將第二個(gè)參數(shù)提供給reduce:
arr.reduce ((acc, currv, i) => i > ind+1 ? acc+currv : 0, ind + 1)
// -------------------------------------------------------^^^^^^^
但是reduce如果您不使用返回值,則使用沒有意義。這個(gè)reduce電話實(shí)際上是一個(gè)空操作。您沒有使用結(jié)果,并且回調(diào)中沒有副作用。
我問這個(gè)函數(shù)是做什么的,你在評(píng)論中回答:
我需要取一個(gè)數(shù)組并找到一個(gè)索引 N,其中 N 左邊的整數(shù)之和等于 N 右邊的整數(shù)之和。
要做到這一點(diǎn),我會(huì)從盡可能靠近中間的地方開始,然后慢慢地走到邊緣。顯然您不希望我發(fā)布解決方案,但我會(huì)選擇中點(diǎn)索引,從該索引計(jì)算每個(gè)方向的總和,然后只要總和不匹配,請(qǐng)嘗試向左移動(dòng)一個(gè)位置(減去從左邊的總和到新索引處的值并將其添加到右邊)并檢查。然后嘗試向右移動(dòng)一個(gè)位置(從右邊的總和中減去新索引處的值并將其添加到左邊)并檢查。繼續(xù)前進(jìn),直到遇到邊緣。
添加回答
舉報(bào)