の値をマージ:私がやっている何重複を削除し、私はそうのようなjavascript配列を持つJavascript配列
var recipients = [{
name: 'Michael',
task: 'programming',
contactdetails: '[email protected]'
}, {
name: 'Michael',
task: 'designing',
contactdetails: '[email protected]'
}, {
name: 'Shane',
task: 'designing',
contactdetails: '[email protected]'
}];
は、私はこの一週間のある人のための通知を送信rosteringシステムなので、メールです「こんにちはマイケル、あなたは今週番組を作ります」のようなものです。現時点では、配列内のすべての値について電子メールを送信するため、それはあまり役に立ちません。したがって、上記の例では、Michael 2の電子メールを送信します。
私がしたいのは、タスクのプロパティ文字列をマージする際に重複を削除することです。だから、配列は次のようになります。
var recipients = [{
name: 'Michael',
task: 'programming, designing',
contactdetails: '[email protected]'
}, {
name: 'Shane',
task: 'designing',
contactdetails: '[email protected]'
}];
そのように、それだけで「こんにちはマイケル、あなたが今週設計、プログラミングしている」のように一つのメッセージを送ることができます。これについてどうすればいいですか?私もGoogle Appsスクリプトを使用していますので、純粋なjavascriptソリューションが必要です。マイケルは決して別のメールアドレスなどを持っていないので、各人の名前と電子メールアドレスは常に同じであると付け加えるべきです。
私たちは一意のキーは 'contactdetails'フィールドだと仮定できますか?または 'contactdetails'と' name'フィールドの両方か? – haxxxton
情報をコメントとして追加しないで、質問に入れてください。また、Googleアプリスクリプトタグを追加します。おそらく[* reduce *](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)は仕事をしますが、何を試しましたか? – RobG
@haxxxtonはい名前と連絡先の詳細はそれぞれの人のために常に同じですが、唯一のことは人のために変わるでしょう。 – user1190132