Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MailBox {
- constructor() {
- this.mailbox = [];
- }
- addMessage(subject,text) {
- this.mailbox.push(subject,text);
- return this;
- }
- get messageCount() {
- return this.mailbox.length/2;
- }
- deleteAllMessages() {
- return this.mailbox = [];
- }
- findBySubject(substr) {
- let arr = [];
- for (let i = 0; i < this.mailbox.length; i+=2) {
- if (this.mailbox[i].indexOf(substr) !== -1) {
- arr.push({subject:this.mailbox[i],text:this.mailbox[i+1]});
- }
- }
- if(arr.length==0) {
- return [];
- }
- return arr
- }
- toString() {
- if(this.mailbox.length==0) {
- return ` * (empty mailbox)`
- }
- let result ='';
- for (let i = 0; i < this.mailbox.length; i+=2) {
- result+=` * [${this.mailbox[i]}] ${this.mailbox[i+1]}\n`
- }
- return result
- }
- }
- let mb = new MailBox();
- console.log("Msg count: " + mb.messageCount);
- console.log('Messages:\n' + mb);
- mb.addMessage("meeting", "Let's meet at 17/11");
- mb.addMessage("beer", "Wanna drink beer tomorrow?");
- mb.addMessage("question", "How to solve this problem?");
- mb.addMessage("Sofia next week", "I am in Sofia next week.");
- console.log("Msg count: " + mb.messageCount);
- console.log('Messages:\n' + mb);
- console.log("Messages holding 'rakiya': " +
- JSON.stringify(mb.findBySubject('rakiya')));
- console.log("Messages holding 'ee': " +
- JSON.stringify(mb.findBySubject('ee')));
- mb.deleteAllMessages();
- console.log("Msg count: " + mb.messageCount);
- console.log('Messages:\n' + mb);
- console.log("New mailbox:\n" +
- new MailBox()
- .addMessage("Subj 1", "Msg 1")
- .addMessage("Subj 2", "Msg 2")
- .addMessage("Subj 3", "Msg 3")
- .toString());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement