请老师检查
来源:2-11 编程练习
慕斯2168053
2021-11-19 16:09:23
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> const obj = { "0": "xm", "sex": "male", length: 2 } 在此补充代码 obj[Symbol.iterator] = () => { let index = 0; return { next() { let value, done; if (index < obj.length) { value = obj[index]; done = false; } else { value = undefined; done = true; } index++; return { value, done } } } } for (let item of obj) { console.log(item); } </script> </body> </html>
1回答
好帮手慕久久
2021-11-19
同学你好,打印结果不对:
正确结果如下:
有以下几条原因导致了错误:
1、obj的属性不是“0”、“1”、“2”...:
所以value的值,不能通过value = obj[index]获取。
2、length属性也需要打印出来,因此需要获取的属性的长度=length+1,如下条件就有问题了:
综上,调整如下:
祝学习愉快!