ECMAScript 5にはfilter()
型のプロトタイプArray
がありObject
ますが、私が正しく理解していれば、型はありません。
JavaScriptでfilter()
for をどのように実装Object
しますか?
私がこのオブジェクトを持っているとしましょう:
var foo = {
bar: "Yes"
};
そして私filter()
はObject
s で動作するを書きたい:
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