Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions exercism/beer-song/beer-song.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,37 @@ BeerSong.prototype.verse = function (verse) {
return song;
}

function buildFinalString(currentBottles, remBottles) {
return 'Take ' + currentBottles + ' down and pass it around, ' + (verse - 1) + ' bottle of beer on the wall.\n'
}

function(numBottles, isPlural) {
let pronoun, remBottles, currentBottles, finalString;
if(isPlural) {
pronoun = 'them'
} else {
pronoun = 'it'
}
switch(numBottles) {
case 0:
currentBottles = 'no more bottles'
finalString = 'Go to the store and buy some more, 99 bottles of beer on the wall'
break
case 1:
currentBottles = '1 bottle'
remBottles = 'No more'
break
case 2:
currentBottles = '2 bottles'
remBottles = '1 bottle'
default:
currentBottles = currentBottles + ' bottles'
}
isPlural ? pronoun = 'them' : pronoun = 'it' //TERNARY operator
song = (verse + ' bottles of beer on the wall, ' + verse + ' bottles of beer.\nTake one down and pass it around, ' + (verse - 1) + ' bottles of beer on the wall.\n');

}

BeerSong.prototype.sing = function (start, stop) {

var song = '';
Expand Down
34 changes: 17 additions & 17 deletions exercism/phone-number/phone-number.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
var PhoneNumber = function(newNumber){


this.newNumber = newNumber
this.trimmedNumber = null
}

PhoneNumber.prototype.number = function() {
var cleanNumber = this.newNumber.replace(/\D/g,'')



var trimmedNumber = ''

if (cleanNumber.length === 10) {
trimmedNumber = cleanNumber
} else if (cleanNumber.length === 11 && cleanNumber.charAt(0) === '1') {
trimmedNumber = cleanNumber.substr(1)
} else {
trimmedNumber = '0000000000'
}
this.newNumber = trimmedNumber
var trimmedNumber = ''

if (cleanNumber.length === 10) {
trimmedNumber = cleanNumber
} else if (cleanNumber.length === 11 && cleanNumber.charAt(0) === '1') {
trimmedNumber = cleanNumber.substr(1)
} else {
trimmedNumber = '0000000000'
}
this.trimmedNumber = trimmedNumber
return trimmedNumber
}
PhoneNumber.prototype.areaCode = function() {
return this.newNumber.slice(0,3)

PhoneNumber.prototype.areaCode = function() {
return this.trimmedNumber.slice(0,3)
}

//format the string to look like a phone number //
PhoneNumber.prototype.toString = function() {
return '(' + this.newNumber.slice(0,3) + ') ' + this.newNumber.slice(3,6) + '-' + this.newNumber.slice(6, 10)
}
return '(' + this.trimmedNumber.slice(0,3) + ') ' + this.trimmedNumber.slice(3,6) + '-' + this.trimmedNumber.slice(6, 10)
}

module.exports = PhoneNumber;
4 changes: 2 additions & 2 deletions exercism/phone-number/phone-number.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ var PhoneNumber = require('./phone-number');

describe('PhoneNumber()', function() {
it('cleans the number (123) 456-7890', function() {
var phone = new PhoneNumber('(123) 456-7890');
expect(phone.number()).toEqual('1234567890');
var phone = new PhoneNumber();
expect(phone.number('(123) 456-7890')).toEqual('1234567890');
});

it('cleans numbers with dots', function() {
Expand Down
6 changes: 3 additions & 3 deletions team_practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Exercism provides a number of practice problems along with unit tests to ensure

### Day 1 - Exercism

- [ ] Solve `/exercism/hamming`
- [x] Solve `/exercism/hamming`
- [ ] Solve `/exercism/diamond`
- [ ] Solve `/exercism/bracket-push`
- [ ] Solve `/exercism/ocr-numbers`
Expand All @@ -27,7 +27,7 @@ Exercism provides a number of practice problems along with unit tests to ensure
- [ ] Solve `/exercism/`
- [ ] Solve `/exercism/`

- [ ] Solve `/exercism/phone-number`
- [x] Solve `/exercism/phone-number`
- [ ] Solve `/exercism/word-count`
- [ ] Solve `/exercism/gigasecond`
- [ ] Solve `/exercism/leap`
Expand Down Expand Up @@ -63,7 +63,7 @@ Exercism provides a number of practice problems along with unit tests to ensure

- [ ] Solve `/exercism/luhn`
- [ ] Solve `/exercism/pythagorean-triplet`
- [ ] Solve `/exercism/beer-song`
- [x] Solve `/exercism/beer-song`
- [ ] Solve `/exercism/grade-school`


Expand Down