我有一個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]'
}];
什麼我做的是一個排班系統,我發出通知,誰是這個星期,所以電子郵件就像「你好,邁克爾你在這周編程」。目前它不是很好,因爲它發送了一個電子郵件給數組中的每個值。所以在上面的例子中,它會發送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/en/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)將完成這項工作,你嘗試過了什麼? – RobG
@haxxxton是的名字和contactdetails將永遠是相同的每個人,唯一的事情會改變一個人會在那裏的任務。 – user1190132