当遍历对象的值时产生undefined的情况,可能有以下几种原因:
const obj = {a: 1, b: undefined, c: 3};
for (let key in obj) {
if (obj[key] !== undefined) {
console.log(obj[key]);
}
}
const obj = {a: 1, b: 2};
Object.prototype.c = undefined;
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(obj[key]);
}
}
const obj = {a: 1, b: null, c: 3};
for (let key in obj) {
if (obj[key] !== null) {
console.log(obj[key]);
}
}
通过以上方法,可以避免遍历对象的值产生undefined的情况。