在JavaScript中,如果要在"for...in"循环中从处理中排除添加到Array方法,可以使用"hasOwnProperty()"方法来检查属性是否直接属于对象。以下是一个示例:
const myArray = [1, 2, 3];
// 添加一个方法到Array.prototype
Array.prototype.myMethod = function() {
console.log("This is myMethod");
};
// 遍历myArray的属性
for (const property in myArray) {
// 检查属性是否直接属于对象,而不是从原型链继承而来
if (myArray.hasOwnProperty(property)) {
console.log("Own property: " + property);
} else {
console.log("Inherited property: " + property);
}
}
在这个示例中,我们向Array.prototype添加了一个名为"myMethod"的方法。然后,我们使用"for...in"循环遍历myArray的属性。在循环内部,我们使用"hasOwnProperty()"方法检查属性是否直接属于对象,而不是从原型链继承而来。这样,我们就可以在循环中排除添加到Array方法的属性。
领取专属 10元无门槛券
手把手带您无忧上云