ECMAScript 5에는 유형에 대한 filter()
프로토 타입이 Array
있지만 Object
올바르게 이해하면 유형이 아닙니다 .
JavaScript에서 filter()
for를 어떻게 구현 Object
합니까?
이 객체가 있다고 가정 해 봅시다.
var foo = {
bar: "Yes"
};
그리고 s에서 filter()
작동 하는을 작성하고 싶습니다 Object
.
Object.prototype.filter = function(predicate) {
var result = {};
for (key in this) {
if (this.hasOwnProperty(key) && !predicate(this[key])) {
result[key] = this[key];
}
}
return result;
};
이것은 다음 데모에서 사용할 때 작동하지만 jQuery 1.5 및 jQuery UI 1.8.9를 사용하는 사이트에 추가하면 FireBug에서 JavaScript 오류가 발생합니다.
Object.prototype
: bugs.jquery.com/ticket/2721은