私のアプリケーションでは、JSONでコメントのコレクションを受け取ります。多くの要素に同じ関数を追加する(jsプロトタイプを使用しますか?)
次に、このコレクションのすべてのアイテムに機能を追加したいと思います。例えば、コメントがcomment.first_name
とcomment.last_name
の場合は、comment.full_name()
を作成します。
これまでのところ、私がやっている:
comment.full_name = function() { return this.first_name+" "+this.last_name }
を多くのコメント(およびこれよりもっと複雑な他の方法)があるので、私の質問は、あり、どのように私はプロトタイプまたはコンストラクタを使用することができコレクションの各アイテムに同じ機能を追加するには、各エレメントに挿入する必要はありませんか?
EDIT:ここ
はコードの例です:今
comments = ({"1": {"first_name":"John", "last_name":"Silver"}, "2": {"first_name":"Jack", "last_name":"Sparrow"}})
、私はJSONをカプセル化していないことを考えると
comments[1].name() //=> John Silver
comments[2].name() //=> Jack Sparrow
偉大な、それは私の質問の別の部分を解決する!しかし、これはコメント以外のすべてのオブジェクトにそのメソッドを追加しないでしょうか?私はそのメソッドだけをコメントに追加したいと思います。それぞれのコメントを編集して、それらのオブジェクトだけがプロトタイプを持っていれば完璧です。 – micho
@micho私はお詫びしますが、私はあなたが「すべての物」の意味を理解していません。上記のコードは、すべてのコメントオブジェクトに 'full_name'関数を、コメントオブジェクトごとに* only *という関数を付け加えます。たぶんあなたはあなたが望むものを正確に*明らかにするためにあなたの質問を修正することができますか? – Alex
@Alex。私はここにコメントタイプがあるのか分からない。彼らはJSONパーサからポップアップしました。 – spender