JavaScript ã®ä¾å¤ "is not iterable" ã¯ã forâ¦of ã®å³è¾ºã¨ãã¦ä¸ããããå¤ãã Promise.all
ã¾ã㯠TypedArray.from
ã®ãããªé¢æ°ã®å¼æ°ã¨ãã¦ä¸ããããå¤ãå復å¯è½ãªãã¸ã§ã¯ãã§ã¯ãªãã£ãå ´åã«çºçãã¾ãã
TypeError: 'x' is not iterable (Firefox, Chrome)
TypeError: 'x' is not a function or its return value is not iterable (Chrome)
ã¨ã©ã¼ç¨®å¥ ã¨ã©ã¼ã®åå
forâ¦of ã®å³è¾ºã Promise.all
ã TypedArray.from
ãªã©ã®å¼æ°ã¨ãã¦æå®ãããå¤ãå復å¯è½ãªãã¸ã§ã¯ãã§ã¯ããã¾ãããå復å¯è½ãªãã®ã¯ãArray
ãString
ãMap
çã®ãããªçµã¿è¾¼ã¿å復å¯è½åããã¸ã§ãã¬ã¼ã¿ã¼ã®çµæãå復å¯è½ãããã³ã«ãå®è£
ãã¦ãããªãã¸ã§ã¯ããæããã¨ãã§ãã¾ãã
JavaScript ã§ã¯ã Object
ã¯å復å¯è½ãããã³ã«ãå®è£
ãã¦ããªãéãå復å¦çã§ãã¾ããããããã£ã¦ããªãã¸ã§ã¯ãã®ããããã£ãå復å¦çããããã« forâ¦of ã使ç¨ãããã¨ã¯ã§ãã¾ããã
var obj = { France: "Paris", England: "London" };
for (let p of obj) {
// TypeError: obj is not iterable
// â¦
}
代ããã«ããªãã¸ã§ã¯ãã®ããããã£ãå復å¦çããããã«ã¯ Object.keys
ã Object.entries
ã使ç¨ãã¦ãã ããã
var obj = { France: "Paris", England: "London" };
// Iterate over the property names:
for (let country of Object.keys(obj)) {
var capital = obj[country];
console.log(country, capital);
}
for (const [country, capital] of Object.entries(obj))
console.log(country, capital);
ãã®ä½¿ç¨ä¾ã®ãã®ã»ãã®é¸æè¢ã¨ãã¦ãMap
ã使ç¨ãããã¨ãã§ãã¾ãã
var map = new Map();
map.set("France", "Paris");
map.set("England", "London");
// Iterate over the property names:
for (let country of map.keys()) {
let capital = map[country];
console.log(country, capital);
}
for (let capital of map.values()) console.log(capital);
for (const [country, capital] of map.entries()) console.log(country, capital);
ã¸ã§ãã¬ã¼ã¿ã¼ã®å復å¦ç
ã¸ã§ãã¬ã¼ã¿ã¼ã¯å復å¯è½ãªãã¸ã§ã¯ããçæããããã«å¼ã³åºã颿°ã§ãã
function* generate(a, b) {
yield a;
yield b;
}
for (let x of generate) // TypeError: generate is not iterable
console.log(x);
ã¸ã§ãã¬ã¼ã¿ã¼ãå¼ã³åºãã¦ããªãã¨ããã¸ã§ãã¬ã¼ã¿ã¼ã«å¯¾å¿ãã Function
ãªãã¸ã§ã¯ãã¯å¼ã³åºãå¯è½ã§ãããå復å¦çã¯ã§ãã¾ãããã¸ã§ãã¬ã¼ã¿ã¼ãå¼ã³åºãã¨ãã¸ã§ãã¬ã¼ã¿ã¼ã®å®è¡ä¸ã«çæãããå¤ãå復å¦çããå復å¯è½ãªãã¸ã§ã¯ããçæããã¾ãã
function* generate(a, b) {
yield a;
yield b;
}
for (let x of generate(1, 2)) console.log(x);
ç¬èªã®å復å¯è½ãªãã¸ã§ã¯ãã§ã®å復å¦ç
ç¬èªã®å復å¯è½ãªãã¸ã§ã¯ãã¯ã Symbol.iterator
ã¡ã½ãããå®è£
ãããã¨ã§ä½æãããã¨ãã§ãã¾ãã iterator ã¡ã½ããã¯ã¤ãã¬ã¼ã¿ã¼ã§ãããªãã¸ã§ã¯ããããªãã¡ next ã¡ã½ãããè¿ãå¿
è¦ãããã¾ãã
const myEmptyIterable = {
[Symbol.iterator]() {
return []; // [] ã¯å復å¯è½ã§ãããã¤ãã¬ã¼ã¿ã¼ã§ã¯ããã¾ããã -- next ã¡ã½ããããªãããã§ãã
},
};
Array.from(myEmptyIterable); // TypeError: myEmptyIterable is not iterable
ãã¡ãã¯æ£ããå®è£ ã§ãã
const myEmptyIterable = {
[Symbol.iterator]() {
return [][Symbol.iterator]();
},
};
Array.from(myEmptyIterable); // []
é¢é£æ
å ±
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