Baseline 2025
Newly available
å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
Iterator
å®ä¾ç reduce()
æ¹æ³ç±»ä¼¼äº Array.prototype.reduce
ï¼å®å¯¹è¿ä»£å¨çæçæ¯ä¸ªå
ç´ æ§è¡ç¨æ·æä¾çâreducerâåè°å½æ°ï¼å¹¶ä¼ å
¥åä¸ä¸ªå
ç´ ç计ç®ç»æä½ä¸ºåæ°ã对ææå
ç´ è¿è¡ reducer åè°å½æ°çæç»ç»æä¸ºå个å¼ã
reduce(callbackFn)
reduce(callbackFn, initialValue)
åæ°
callbackFn
为è¿ä»£å¨çæçæ¯ä¸ªå
ç´ æ§è¡ç彿°ãå
¶è¿åå¼å°ä½ä¸ºä¸ä¸æ¬¡è°ç¨ callbackFn
æ¶ accumulator
åæ°ãå¯¹äºæå䏿¬¡è°ç¨ï¼å®çè¿åå¼æä¸º reduce()
çè¿åå¼ãè¯¥å½æ°è¢«è°ç¨æ¶å°ä¼ å
¥ä»¥ä¸åæ°ï¼
accumulator
ä¸ä¸æ¬¡è°ç¨ callbackFn
çç»æãå¨ç¬¬ä¸æ¬¡è°ç¨æ¶ï¼å¦ææå®äº initialValue
å为æå®çå¼ï¼å¦å为è¿ä»£å¨ç¬¬ä¸ä¸ªå
ç´ çå¼ã
currentValue
å½åå
ç´ çå¼ãå¨ç¬¬ä¸æ¬¡è°ç¨æ¶ï¼å¦ææå®äº initialValue
ï¼å为è¿ä»£å¨ç¬¬ä¸ä¸ªå
ç´ çå¼ï¼å¦å为è¿ä»£å¨ç¬¬äºä¸ªå
ç´ çå¼ã
currentIndex
currentValue
çç´¢å¼ä½ç½®ãå¨ç¬¬ä¸æ¬¡è°ç¨æ¶ï¼å¦ææå®äº initialValue
å为 0
ï¼å¦å为 1
ã
initialValue
å¯é
ç¬¬ä¸æ¬¡è°ç¨åè°æ¶åå§å accumulator
çå¼ã妿æå®äº initialValue
ï¼å callbackFn
ä»ç¬¬ä¸ä¸ªå
ç´ ä½ä¸º currentValue
å¼å§æ§è¡ãå¦ææ²¡ææå® initialValue
ï¼å accumulator
åå§å为第ä¸ä¸ªå
ç´ ï¼å¹¶ä¸ callbackFn
ä»ç¬¬äºä¸ªå
ç´ ä½ä¸º currentValue
å¼å§æ§è¡ãå¨è¿ç§æ
åµä¸ï¼å¦æè¿ä»£å¨ä¸ºç©ºï¼æ²¡æç¬¬ä¸ä¸ªå¼å¯ä»¥ä½ä¸º accumulator
è¿åï¼ï¼å伿åºé误ã
卿´ä¸ªè¿ä»£å¨ä¸è¿è¡âreducerâåè°å½æ°ç´è³å ¶å®ææè¿åçç»æã
å¼å¸¸TypeError
妿è¿ä»£å¨æ²¡æå
å«ä»»ä½å
ç´ å¹¶ä¸æ²¡ææä¾ initialValue
ï¼åæåºè¯¥å¼å¸¸ã
åè§ Array.prototype.reduce()
以äºè§£ reduce()
çå·¥ä½åçãä¸å¤§å¤æ°å
¶ä»è¿ä»£å¨è¾
婿¹æ³ä¸åï¼å®ä¸éç¨äºæ éè¿ä»£å¨ï¼å 为å®ä¸æ¯æ°æ§çã
以ä¸ç¤ºä¾å建äºä¸ä¸ªçæææ³¢é£å¥æ°åä¸ç项çè¿ä»£å¨ï¼ç¶åæ±åå项çåï¼
function* fibonacci() {
let current = 1;
let next = 1;
while (true) {
yield current;
[current, next] = [next, current + next];
}
}
console.log(
fibonacci()
.take(10)
.reduce((a, b) => a + b),
); // 143
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4