老师,sex为什么是undefined?

来源:2-11 编程练习

练习时常两年半的前端练习生

2022-04-10 11:40:33

<!DOCTYPE html>

<html lang="en">


<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 (const item of obj) {

console.log(item);

}


</script>

</body>


</html>


写回答

1回答

好帮手慕慕子

2022-04-10

同学你好,因为index表示索引 0, 1, 2,而obj下并不存在属性名为1,2的项,所以无法通过obj[index]获取到对应的属性值,所以返回结果为undefined

建议修改:针对index进行判断,并设置对应的值

https://img.mukewang.com/climg/62526717095605db06330790.jpg

祝学习愉快~

0

0 学习 · 17877 问题

查看课程