Baseline 2025
Newly available
å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
Iterator
å®ä¾ç filter()
æ¹æ³è¿åä¸ä¸ªæ°çè¿ä»£å¨è¾
婿¹æ³ï¼è¯¥è¿ä»£å¨è¾
婿¹æ³åªçæè¿ä»£å¨ä¸è½ä»¤æä¾çåè°å½æ°è¿å true
çå
ç´ ã
callbackFn
为è¿ä»£å¨ä¸çæ¯ä¸ªå ç´ æ§è¡ç彿°ãå®åºè¯¥è¿åä¸ä¸ªç弿¥ä½¿è¿ä»£å¨è¾ 婿¹æ³äº§ç对åºå ç´ ï¼å¦åè¿åä¸ä¸ªåå¼ãè¯¥å½æ°è¢«è°ç¨æ¶å°ä¼ å ¥ä»¥ä¸åæ°ï¼
element
å½åæ£å¨å¤ççå ç´ ã
index
å½åæ£å¨å¤ççå ç´ çç´¢å¼ã
ä¸ä¸ªæ°çè¿ä»£å¨è¾
婿¹æ³ãæ¯å½è¿ä»£å¨è¾
婿¹æ³ç next()
æ¹æ³è¢«è°ç¨æ¶ï¼å®é½ä¼è¿åä¸ä¸ªè½ä»¤åè°å½æ°è¿å true
çå
ç´ ãå½åºå±è¿ä»£å¨å®ææ¶ï¼è¿ä»£å¨è¾
婿¹æ³ä¹å®æï¼next()
æ¹æ³äº§ç { value: undefined, done: true }
ï¼ã
è¿ä»£å¨è¾
婿¹æ³ç¸å¯¹äºæ°ç»æ¹æ³ç主è¦ä¼å¿å¨äºå®ä»¬è½å¤å¤çæ éè¿ä»£å¨ãå¯¹äºæ éè¿ä»£å¨ï¼filter()
å
è®¸ä½ åªè¿ä»£æ»¡è¶³ç»å®æ¡ä»¶çå
ç´ ã
ä¸é¢ç示ä¾å建äºä¸ä¸ªçæææ³¢é£å¥æ°åä¸ç项çè¿ä»£å¨ï¼ç¶å读ååå ä¸ªå¶æ°é¡¹ï¼
function* fibonacci() {
let current = 1;
let next = 1;
while (true) {
yield current;
[current, next] = [next, current + next];
}
}
const seq = fibonacci().filter((x) => x % 2 === 0);
console.log(seq.next().value); // 2
console.log(seq.next().value); // 8
console.log(seq.next().value); // 34
å¨ for...of 循ç¯ä¸ä½¿ç¨ filter()
å½ä½ 䏿³æå¨å¿«è¿è¿ä»£å¨æ¶ï¼filter()
æ¯ææ¹ä¾¿çãå 为è¿ä»£å¨ä¹æ¯å¯è¿ä»£çï¼æä»¥ä½ å¯ä»¥ç¨ for...of
å¾ªç¯æ¥è¿ä»£è¿åçè¾
婿¹æ³ã
for (const n of fibonacci().filter((x) => x % 2 === 0)) {
console.log(n);
if (n > 30) {
break;
}
}
// è¾åºï¼
// 2
// 8
// 34
çä»·äºï¼
for (const n of fibonacci()) {
if (n % 2 !== 0) {
continue;
}
console.log(n);
if (n > 30) {
break;
}
}
è§è æµè§å¨å
¼å®¹æ§ åè§
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