gpt4 book ai didi

javascript - 如何遍历所有属性公司。例如[符号.迭代器]

转载 作者:行者123 更新时间:2023-11-30 15:46:19 24 4
gpt4 key购买 nike

代码如下

a = {
b () {return 3;},
[Symbol.iterator] () {return 4;}
};

console.log (a ['b']);
console.log (a [Symbol.iterator]);

console.log (111);
for (var attrib in a) {
console.log (attrib);
console.log (a [attrib]);
}
console.log (222);

打印

function b() {return 3;}
function () {return 4;}
111
b
function b() {return 3;}
222

为什么第二个函数,返回4没有在for循环中打印出来。我如何制作一个打印所有属性的 for 循环,包括 [Symbol.iterator] 等特殊属性?

注意问题不在于如何编写正确的迭代器函数,我知道我还没有这样做。

最佳答案

Symbol.iterator 是一个 Symbol,您不能那样列出它们,您必须使用 Object.getOwnPropertySymbols(your_object) 来列出它们。

For ... in ... 循环确实列出了对象的属性,但符号有点不同,它们需要特殊处理。

关于javascript - 如何遍历所有属性公司。例如[符号.迭代器],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40017424/

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