gpt4 book ai didi

javascript - 检查某物是否可迭代

转载 作者:IT王子 更新时间:2023-10-29 02:48:54 24 4
gpt4 key购买 nike

在 MDN 文档中:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of

for...of 构造被描述为能够迭代“可迭代”对象。但是是否有一种好的方法来确定一个对象是否可迭代?

我试图找到数组、迭代器和生成器的共同属性,但一直无法找到。

除了在 try block 中执行 for ... of 并检查类型错误之外,是否有一种干净的方法来执行此操作?

最佳答案

检查可迭代性的正确方法如下:

function isIterable(obj) {
// checks for null and undefined
if (obj == null) {
return false;
}
return typeof obj[Symbol.iterator] === 'function';
}

为什么这有效(深度可迭代协议(protocol)):https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols

既然我们在谈论 for..of,我想,我们是在 ES6 思维模式下。

此外,如果 obj 是一个字符串,请不要惊讶此函数返回 true,因为字符串会遍历其字符。

关于javascript - 检查某物是否可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com