Baseline Widely available
[Symbol.iterator]()
㯠Array
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãå復å¯è½ãããã³ã«ãå®è£
ãã¦ãããã¹ãã¬ããæ§æã for...of
ã«ã¼ãã®ãããªå復å¯è½ãªãã¸ã§ã¯ããæå¾
ããã»ã¨ãã©ã®æ§æã§é
åãå©ç¨ãããã¨ãã§ãã¾ããé
åã®åã¤ã³ããã¯ã¹ã®å¤ãè¿ãé
åã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
ãã®ããããã£ã®åæå¤ã¯ Array.prototype.values
ããããã£ã®åæå¤ã¨åã颿°ãªãã¸ã§ã¯ãã§ãã
const array1 = ["a", "b", "c"];
const iterator1 = array1[Symbol.iterator]();
for (const value of iterator1) {
console.log(value);
}
// Expected output: "a"
// Expected output: "b"
// Expected output: "c"
æ§æ 弿°
ãªãã
è¿å¤Array.prototype.values()
ã®è¿å¤ã¨åãã§ããããã¯é
åå
ã®ãã¹ã¦ã®ã¤ã³ããã¯ã¹ã®å¤ãçæããæ°ããå復å¯è½ã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãã§ãã
ãã®ã¡ã½ãããç´æ¥å¼ã³åºãå¿
è¦ã¯ã»ã¨ãã©ãªããã¨ã«æ³¨æãã¦ãã ããã [Symbol.iterator]() ã¡ã½ãããåå¨ãããã¨ã§ãé
åã[å復å¦çå¯è½](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol)ã«ãããã¨ãã§ãã
for...of` ã«ã¼ãã®ãããªå復å¦çæ§æã§ã¯ãèªåçã«ãã®ã¡ã½ãããå¼ã³åºãã¦ãã«ã¼ãããã¤ãã¬ã¼ã¿ã¼ãåå¾ãã¾ãã
<ul id="letterResult"></ul>
JavaScript
const arr = ["a", "b", "c"];
const letterResult = document.getElementById("letterResult");
for (const letter of arr) {
const li = document.createElement("li");
li.textContent = letter;
letterResult.appendChild(li);
}
çµæ ã¤ãã¬ã¼ã¿ã¼ãæåã§æç¹°ã
è¿ãããã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãã® next()
ã¡ã½ãããæåã§å¼ã³åºããã¨ã§ãå復å¦çãæå¤§éã«å¶å¾¡ãããã¨ãã§ãã¾ãã
const arr = ["a", "b", "c", "d", "e"];
const arrIter = arr[Symbol.iterator]();
console.log(arrIter.next().value); // a
console.log(arrIter.next().value); // b
console.log(arrIter.next().value); // c
console.log(arrIter.next().value); // d
console.log(arrIter.next().value); // e
æååã¨æååé
åãåã颿°ã§å¦ç
æååã¨é
åã¯ã©ã¡ããã¤ãã¬ã¼ã¿ã¼ãããã³ã«ãå®è£
ãã¦ããã®ã§ãæ±ç¨é¢æ°ã¯ä¸¡æ¹ã®å
¥åãåãæ¹æ³ã§å¦çããããã«è¨è¨ãããã¨ãã§ãã¾ããããã¯ã Array.prototype.values()
ãç´æ¥å¼ã³åºããããåªãã¦ãããå
¥åãé
åã§ããããå°ãªãã¨ããã®ãããªã¡ã½ãããæã¤ãªãã¸ã§ã¯ãã§ãããã¨ãè¦æ±ããã¾ãã
function logIterable(it) {
if (typeof it[Symbol.iterator] !== "function") {
console.log(it, "is not iterable.");
return;
}
for (const letter of it) {
console.log(letter);
}
}
// Array
logIterable(["a", "b", "c"]);
// a
// b
// c
// String
logIterable("abc");
// a
// b
// c
// Number
logIterable(123);
// 123 is not iterable.
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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