老师,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回答
同学你好,因为index表示索引 0, 1, 2,而obj下并不存在属性名为1,2的项,所以无法通过obj[index]获取到对应的属性值,所以返回结果为undefined
建议修改:针对index进行判断,并设置对应的值
祝学习愉快~
相似问题
回答 1
回答 1