0

私は次のものを持っているとしましょう:

function Myobj = {
   name: "Julia",
   birthdate: "xxxx",
   genres: [],
   movies: [{title: "movie1", rating: 5, genre: "Horror"}, {title: "movie2", rating 3, genre: "Comedy"},{title: "movie3", rating 3, genre: "Comedy"}, {title: "movie4", rating 3, genre: "Comedy"}, {title: "movie5", rating 3, genre: "Horror"}]
}

私ができるようにしたいのは、次のような機能を持つことです。

Myobj.prototype.pushMovie(somejson) {
   // code to add somejson to "movies", and add the "genre" to the "genres" array
}

私が行けるように:

obj1 = new Myobj();
obj1.pushMovie({title: "movie1", rating: 5, genre: "Horror"});

または、配列プロトタイプをオーバーライドする方が良い方法ですか? もしそうなら、次のようなすべての配列ではなく、プロトタイプに特定の配列を与えることは可能ですか?

Myobj.Array.prototype.pushMovie() {
// code to inherit from regular push, and do some operation to add to "genres"
}

構文的に正しい、または最善のアプローチが何であるかはわかりません。

4

1 に答える 1

2

なぜこれではないのですか?

Myobj.prototype.addMovie(somejson) {
   this.movies.push( somejson );
}
Myobj.prototype.addGenre(somejson) {
   this.genres.push( somejson );
}
Myobj.prototype.pushMovie = Myobj.prototype.addMovie;
于 2012-07-12T18:21:54.293 に答える